我想我需要某种Schwartzian变换来实现这个功能,但是我很难搞清楚它,因为perl不是我最强的语言.
我有一个包含内容的目录:
album1.htm
album2.htm
album3.htm
....
album99.htm
album100.htm
Run Code Online (Sandbox Code Playgroud)
我正试图从这个目录中获得具有最高编号的专辑(在本例中为album100.htm).请注意,文件上的时间戳不是确定事物的可靠方法,因为人们在事后添加了旧的"丢失"专辑.
以前的开发人员只是使用下面的代码片段,但是一旦目录中有超过9个专辑,这显然就会崩溃.
opendir(DIR, PATH) || print $!;
@files = readdir(DIR);
foreach $file ( sort(@files) ) {
if ( $file =~ /album/ ) {
$last_file = $file;
}
}
Run Code Online (Sandbox Code Playgroud)