|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Roman V Tchemisov 2:5020/400 12 Feb 2004 04:24:35 To : Sergey Leschenko Subject : Re: Пауза в программе -------------------------------------------------------------------------------- Sergey Leschenko сообщил в новостях следующее: > > Hужно сделать задержку в программе. > > Скрипт запускается в 02:29:00, выполняет подготовительные действия. После > > этого нужно > > сделать паузу до 02:29:50. Затем поработать до 02:30:10 и после этого > > завершить работу. > > > > Я ничего лучше: > > > > while ((localtime)[2].(localtime)[1].(localtime)[0] < '022950') {} > > например, такой вариант: > > use Time::Local; > $wakeup = timelocal(50, 29, 2, ... ); > sleep($wakeup - time()); > ... А откуда мне брать значения дня, месяца и года для timelocal? Т. е. я, конечно, знаю где их взять, но не слишком ли всё сложно получается? Как мне быть со вторым циклом (который должен работать с 02:29:50 до 02:30:10? Сейчас он выглядит примерно так: while ((localtime)[2].(localtime)[1].(localtime)[0] < '023010') { #здесь идут какие-то операции #а именно работа через LWP с HTTP-сервером } Проблема в том, что если в 02:30:10 (время, когда цикл должен закончить работу) программа ожидает ответа от HTTP-сервера, никакого завершения цикла не происходит. Получается бесконечный цикл. --- ifmail v.2.15dev5.3 * Origin: Golden Telecom (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/5424816d8d16.html, оценка из 5, голосов 10
|