# rmdirsimple.pl use File::Find qw(finddepth); use Cwd; *name = *File::Find::name; my @dirs = @ARGV; my @legitdirs = grep { -d } @dirs; finddepth (\&unlinkplus, @legitdirs); # danger, danger. high voltage. use at own risk. sub unlinkplus { warn "current dir :" . cwd . "\n"; if (!-l && -d _) { # not a link, is a directory warn "rmdir attempt :" . $name . "\n"; (rmdir($_) && warn "ok..." ) or warn "cannot rmdir $name:" . " $!"; } else { warn "file unlink :" . $name . ">"; (unlink($_) && warn "ok..." ) or warn "can't unlink " . $name . "$!"; } }