Мне кажется, мне нужно что-то вроде Schwartzian Transform, чтобы получить эту работу, но мне сложно разобраться, поскольку perl не самый сильный язык.Сортировка каталога в 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;
}
}