1
while (defined($name = readdir $dh)) {
    next unless -d "$root/$name";
    $dir=$root.$name."/";
    if(is_folder_empty($dir)){
        print"$dir is Empty\n";
        print"Do you want to delete it? 1-Yes 2-No\n";
        $aa=<STDIN>;
        chomp $aa;
        if($aa==1){
            $deleteregdir = "$dir";
            rmdir $deleteregdir;
            print"Directory has been deleted!!\n";
        }
    }
    else
    {
        print"$dir is NOT Empty\n";
        $dir2=$dir;
        opendir my $dh2, $dir2;
        while (defined($name2 = readdir $dh2)) {
            next unless -d "$dir2/$name2";
            $dd=$dir2.$name2."/";
            #print"$dd\n";
            if(is_folder_empty($dd)){
                print"$dd is Empty\n";
                print"Do you want to delete it? 1-Yes 2-No\n";
                $aa=<STDIN>;
                chomp $aa;
                if($aa==1){
                    $deleteregdir = "$dir";
                    rmdir $deleteregdir;
                    print"Directory has been deleted!!\n";
                }
            }
            else
            {
                print"$dd is NOT Empty\n";
            }
        }
    }
}

このコードは、ディレクトリとそのサブディレクトリに対してのみ実行されます。反復は次のレベルで停止します。空のディレクトリをすべて検索したい。コードを実行すると、ユーザーからの確認後に空のディレクトリがすべて削除されるような構造にしたいと考えています。前もって感謝します。

4

2 に答える 2