Jochen Arndt
Вы должны перебирать каталоги.
Возможное решение:
use File::Basename;
sub ProcessDirectory{
my ($workdir) = shift;
print "Processing '$workdir'\n";
my $mask = $workdir . '/*';
# glob: Return list of filename expansions for search mask
# grep -d: Extract directories from list
my @dirs = grep { -d } glob $mask;
foreach $d (@dirs)
{
# Process sub directories
ProcessDirectory($d);
my $dirname = basename($d);
if ($dirname =~ /^temp*/)
{
print " Removing $d\n";
my $filemask = $d . '/*';
# Delete all files in directory and then the directory
#unlink glob $filemask;
#rmdir $d;
}
}
}
ProcessDirectory('/home/rperiasa/output');
Обратите внимание,что я прокомментировал операцию удаления, чтобы вы могли сначала проверить ее.