我希望找到一种更好的方法来实现这一点,但现在,出于必要的原因,我有一个打印html代码的perl脚本。其中一个subs使用for循环遍历目录,并打印出具有最后修改日期的文件名:
foreach my $result (@files) {
if ($result =~ /.txt/ ) {
chomp $result;
my $filename = basename($result);
my $time = (stat("$result"))->[9] or die "$!";
my $date = localtime $time;
my $filestat = '<div style="text-align:left;">' . "$filename" . '</div><div style="text-align:right;">' . "$date" . '</div>';
push(@final_result,$filestat);
}
}
my $final_result_stat = join('<br>',@final_result);
my $header = '<p style="text-align:left;">File Name<span style="float:right;">Last Modified Date</span></p>';
return "$header" . "$final_result_stat";
}
生成的html输出放在标记之间,并放在正文中的表中。我遇到的问题是文本输出($filename和$date)没有在同一行对齐。它们看起来是一行一行,但$filename向左对齐,$date向右对齐。此外,下一个结果输出的间隔相当远,我希望它们更紧凑。
Current:
Filename
Date
Filename
Date
I want:
Filename Date
Filename Date
此外,我知道这还处于艰难的阶段,所以我们非常欢迎任何关于如何让它变得更干净、更好的建议!
您必须转换此行:
my $filestat = '<div style="text-align:left;">' . "$filename" . '</div><div style="text-align:right;">' . "$date" . '</div>';
收件人:
my $filestat = '<div class="filename">' . "$filename" . '</div><div class="date">' . "$date" . '</div>';
并添加以下css:
.filename {
display: inline-block;
width: 30%;
}
.date {
display: inline-block;
width: 70%;
}