- RU.PERL ----------------------------------------------------------- RU.PERL - Msg : #2566 [500] От : Artem Chuprina 2:5020/400 12 февраля 04, 16:34 Кому : Roman V Tchemisov 14 февраля 04, 22:52 Тема : Re: Пауза в программе ------------------------------------------------------------------------------- From: Artem ChuprinaRoman V Tchemisov -> Sergey Leschenko @ Thu, 12 Feb 2004 00:24:35 +0000 (UTC): >> > Hужно сделать задержку в программе. >> > Скрипт запускается в 02:29:00, выполняет подготовительные действия. RVT> После >> > этого нужно >> > сделать паузу до 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()); >> ... RVT> А откуда мне брать значения дня, месяца и года для timelocal? Из localtime, натурально. RVT> Т. е. я, конечно, знаю где их взять, но не слишком ли всё сложно RVT> получается? Что ж там сложного? RVT> Как мне быть со вторым циклом (который должен работать с 02:29:50 до RVT> 02:30:10? RVT> Сейчас он выглядит примерно так: RVT> while ((localtime)[2].(localtime)[1].(localtime)[0] < '023010') { RVT> #здесь идут какие-то операции RVT> #а именно работа через LWP с HTTP-сервером RVT> } RVT> Проблема в том, что если в 02:30:10 (время, когда цикл должен закончить RVT> работу) программа RVT> ожидает ответа от HTTP-сервера, никакого завершения цикла не происходит. RVT> Получается RVT> бесконечный цикл. Значит, либо там сравнение не на <, либо она там торчит 22 часа. -- Artem Chuprina RFC2822: , FIDO: 2:5020/122.256, ICQ: 13038757 --- ifmail v.2.15dev5.3 * Origin: Leninsky 45 home network (2:5020/400)