in reply to delete all directories which are not in list
Read all the text and split and put in array and take all directory names in the mentioned direcory names and put in array. compare two and create an array and flow the array and delete the directories.
I have mentioned the below code
undef $/; open(IN, "d:\\list.name") || die"Cannot Open file\n"; $str = <IN>; @arr = split(/,|\n/, $str); opendir(DIN, "$ARGV[0]"); @rfiles = readdir(DIN); closedir(DIN); my %seen; # lookup table my @aonly;# answer @seen{@rfiles} = (); foreach $item (@arr) { push(@aonly, $item) unless exists $seen{$item}; } print @aonly; rmdir("$dir\\$_") for (@aonly);
Gubendran
|
|---|