我需要删除超过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 ....
进行比较任何帮助?
答案 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