|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 24 Feb 2002 01:36:39 To : Andrew Sagulin Subject : Re: Как удалить файл? -------------------------------------------------------------------------------- Здравствуй, Andrew Sagulin. DL>> Вот тут случайно натолкнулся на такую вот пpоблему. Есть файл с DL>> именем temp.txt. Этот файл лежит в том же каталоге, что и скpипт. Его DL>> необходимо пеpиодически удалять. Как удалить temp.txt? DL>> Если можно, пожалуйста, напишите сюда пpимеp кода на Perl. AS> my ($workpath) = $0 =~ /^(.+[\\\/])[^\\\/]+$/; AS> $workpath = "" unless $workpath; AS> unlink $workpath . "temp.txt"; AS> Это одновременно и ответ, и вопрос к All-у: я делаю так, но нет ли тут AS> подводных камней? Есть. Под юниксом файл с легкостью может содержать \ в имени. И \n. Поэтому под юниксом регекс должен выглядеть /(.+\/)/s ^ и хвост после директории в таком раскладе необязательны. Или альтернативный вариант - две первые строчки заменить на my $workpath = $0; $workpath =~ s#[^/]+$##s; Время работы по идее примерно одинаковое. Hа самом деле в юниксовом имени файла недопустим еще \0, но поскольку ты анализируешь $0, то там его и так нет. -- Artem Chuprina Communiware.net RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/358.49, ICQ: 13038757 --- ifmail v.2.15dev5 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/6359694a1517.html, оценка из 5, голосов 10
|