Forum Webscript.Ru

Программирование => Perl => Тема начата: Yaroslav от 22 Июля 2003, 16:15:08

Название: сортировка файлов
Отправлено: Yaroslav от 22 Июля 2003, 16:15:08
как отсортировать файлы по дате их изменения?
и вообще где можно посмотреть какие флаги имеет функция sort?
Название: сортировка файлов
Отправлено: Yaroslav от 22 Июля 2003, 16:55:47
что б было понятно где отсортировать:

while (defined($filename = glob("*.txt"))) {  #типа тут наверное
open (WORDSLIST, "$filename");
@file=;
}
Название: сортировка файлов
Отправлено: Chs от 22 Июля 2003, 17:21:11
perldoc -f sort
perldoc -f stat
Название: сортировка файлов
Отправлено: mike от 22 Июля 2003, 17:26:20
perldoc -f sort

foreach(sort { -M $a <=> -M $b } glob("*.txt")) { ... }
Название: сортировка файлов
Отправлено: Yaroslav от 22 Июля 2003, 18:03:50
Цитировать
mike:
foreach(sort { -M $a <=> -M $b } glob("*.txt")) { ... }

нефурычит
Название: сортировка файлов
Отправлено: mike от 22 Июля 2003, 18:34:08
В каком смысле? Я проверял прежде чем запостить.
Название: сортировка файлов
Отправлено: Yaroslav от 22 Июля 2003, 18:46:30
Цитировать
mike:
В каком смысле? Я проверял прежде чем запостить.

в прямом, куда его надо вставлять в моем примере?
если вставить так:
foreach(sort { -M $a <=> -M $b } ($filename = glob("*.txt")))
то он находит только один файл, а не все
Название: сортировка файлов
Отправлено: mike от 22 Июля 2003, 18:52:24
Цитировать
Yaroslav:
если вставить так:

Нет, так вставлять не надо. ;) В моем примере тело цикла foreach будет выполняться последовательно для каждого из имен файлов после сортировки. Т.е. тебе нужно сделать где-то так:

foreach $filename (sort { -M $a <=> -M $b } glob("*.txt"))
{
    #сюда вставляешь код обработки $filename
}
Название: сортировка файлов
Отправлено: Yaroslav от 22 Июля 2003, 19:03:02
Цитировать
mike:
foreach $filename (sort { -M $a <=> -M $b } glob("*.txt"))

ОГРОМНОЕ СПАСИБО!