これを機能させるには、ある種のシュワルツ変換が必要だと思いますが、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;
}
}