我必须在上传功能后显示文件列表和文件的上次修改日期。
当我们上传文件时,它们将移动到一个目录中。之后,我必须在“模板工具包”文件中显示带有上次修改日期的文件列表。
用于检索我使用此Perl代码的文件列表
my $path = "/sa2/tools/jayaram_delete";
if (chdir($path)) {
@files = glob "*";
}
else {
@files = ();
}
print STDERR "FiveJayaram:@files";
$c->stash->{myoptions} = \@files;
同样,我必须检索文件的最后修改日期。
用于显示.tt
文件中的文件:
[% FOREACH my IN myoptions%]
<tr class=propertyTableValueColValue><td><div><b>[% my %]</b></div></td></tr>
[% END %]
请帮我用Perl在.tt
文件中显示文件列表和上次修改日期。
答案 0 :(得分:0)
在脚本的第一部分中,您应该使用 opendir 来检索文件,使用 stat 来获取文件的修改日期。像这样:
opendir my $ls,$path or die $!;
while (my $file = readdir $ls ) {
next if !-f "$path/$file";
my @stat = stat("$path/$file");
push @files, [ $file , localtime($stat[9]) ];
}
closedir $ls;
现在您有一个必须传递给模板的列表。列表中的每个项目都是对包含文件和mtime的列表的引用。您应该将此列表传递给模板并检索它。查看有关访问TT中列表引用的文档:
http://template-toolkit.org/docs/manual/Variables.html#section_List_References
您也可能希望以不同的格式获取mtime。运行perldoc -f localtime以查看如何执行此操作的示例。