删除perl中超过12小时的文件夹

时间:2015-05-05 16:29:48

标签: perl

我需要删除超过12小时的文件夹。

这是我的代码,当然不完整。我不知道怎么看perl中每个文件夹的“年龄”。

#!/usr/bin/perl -w

use v5.10.0;                                      
use File::Copy;
use POSIX 'strftime';
use File::Temp;



my $lapso  = 12;  #### is the limit of "age" in hours
my $hour = strftime("%H", localtime(time)); 
say "$hour";
my $limit = strftime "%Y%m%d$H", localtime( time - $lapso * 3_600 );
say "$limit"; #I get the limit of data 

my $dir    = '/home/sim/data/';
opendir(DIR,"$dir");
@files = readdir(DIR);
foreach $file (@files){
print $file, "\n";
}
closedir(DIR)

而不是我需要将文件夹的数据与$ limit ....

进行比较

任何帮助?

3 个答案:

答案 0 :(得分:4)

int i = 0; int j = 0; or this.i = 0; this.j = 0; 以天为单位返回文件/目录的年龄,所以

if(isset($_POST['submit'])) {

    $rows = (int)$_POST['row_num'];
    $cols = (int)$_POST['col_num'];
    $n = 1;
    $e = 0;

    echo '<table id="">';

    while(($e < $rows) && ($e < $cols)) {

        for($i = 0; $i < $rows; $i++) {
            echo '<tr>';

            for($i = 0; $i < $cols; $i++) {
                echo '<td><input type="text" name="field_' . $n . '"></td>';
                $n++;
            }

            echo '</tr>';
        }

        $e++;
    }

    echo '</table>';
}

请参阅文档:-X

答案 1 :(得分:0)

使用stat检索文件夹的修改时间,并将其与当前时间进行比较,以查看差异是否超过12小时。

如果您要删除的文件夹非空,您可能也会对File::Remove模块感兴趣。

答案 2 :(得分:-1)

你真的想用Perl吗?那么好吧。 :P

find . -type f -mmin +$((12*60)) -print0 | perl -n0e unlink