如何在perl中有效删除长列表/文件和目录数组

Ale*_*x P 3 perl rm xargs

这就是我目前以递归方式删除文件和目录的方式

foreach my $row(keys %$rows)
{
    my $md5 = $rows->{$row}->{'md5'};
    my $path = "/some/path/jpg/".substr( $md5, 0, 3 )."/$md5";

    `rm -rf $path`;
    print "removed - ".$path."\n";
}
Run Code Online (Sandbox Code Playgroud)

有数十万个文件/目录需要删除,所以除了为每个文件/目录调用"rm -rf"之外,我希望看到更好的解决方案.

也许在数组中组合一个文件/目录列表,然后将这个数组传递给一个"rm -rf"调用?

fri*_*edo 10

使用rmtree文件::路径.除了可移植之外,它还使用Perl内置的unlink而不是每次需要删除目录时启动整个shell,这就是你现在正在做的事情.