我认为我需要某种Schwartzian Transform才能使其正常工作,但我无法弄清楚,因为 perl 不是我最强的语言。
我有一个目录,内容如下:
album1.htm
album2.htm
album3.htm
....
album99.htm
album100.htm
我正在尝试从此目录中获取编号最高的专辑(在本例中为album100.htm)。请注意,文件上的时间戳并不是确定事物的可靠方法,因为人们会在事后添加旧的“丢失”专辑。
之前的开发者只是简单地使用了下面的代码片段,但是一旦目录中的专辑超过 9 个,这显然会崩溃。
opendir(DIR, PATH) || print $!;
@files = readdir(DIR);
foreach $file ( sort(@files) ) {
if ( $file =~ /album/ ) {
$last_file = $file;
}
}