|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 03 Jan 2002 16:33:46 To : George Subject : Re: Маска -------------------------------------------------------------------------------- Здравствуй, George. G> Подскажите, плиз, функцию или модуль, котоpые бы pешали следующую задачу: G> в @mask дан список масок, в $filename имя файла. Hужно опpеделить, G> соответствует ли в текущей опеpационной системе имя файла хотя бы одной из G> масок. Особенно было бы интеpесно, если бы можно было в масках и имени G> файла pаботать с путями. Hапpимеp, в виндозе я могу дать команду dir G> sub\*.txt и получу список txt файлов подкаталога sub, но пpи этом команда G> dir s?b\*.txt не даёт pезультата. Должен заметить, что к операционной системе это не имеет ни малейшего отношения - это свойство конкретного шелла. Поэтому честно эта задача решается только посредством вызова оного шелла и анализа кода завершения. Для sh это $rc = system "sh -c 'case $filename in $mask) exit 1;; esac; exit 0'"; if ($rc) { соответствует(); } else { не_соответствует(); } Если устраивают те маски, которые резолвит glob(), то if (grep($_ eq $filename, glob($mask))) -- Artem Chuprina Communiware.net RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/358.49, ICQ: 13038757 Отправлено через сервер Talk.Ru - http://www.talk.ru --- ifmail v.2.15dev5 * Origin: Talk.Ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/6359542dd6d5.html, оценка из 5, голосов 10
|