Perl删除目录中的所有文件

时间:2014-08-02 02:01:48

标签: perl

如何在Perl中删除目录中的所有文件(不删除目录)?

我的主机只允许最多250,000个“文件”,我的/ tmp文件夹快速填充250,000个qouta,所有会话cookie都在进行中。在这种情况下我无法删除/ tmp文件夹。我只允许删除其中的文件。

修改

FTP客户端和文件管理器并不想打开文件夹...我认为这是因为其中有大量文件..

2 个答案:

答案 0 :(得分:23)

my $errors;
while ($_ = glob('/tmp/* /tmp/.*')) {
   next if -d $_;
   unlink($_)
      or ++$errors, warn("Can't remove $_: $!");
}

exit(1) if $errors;

答案 1 :(得分:13)

你可以用它。您需要使用glob来删除文件:

unlink glob "'/tmp/*.*'";

需要这些额外的撇号来处理带有空格作为一个字符串的文件名。