Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Настройки


Автор: Дмитрий 19.8.2003, 03:58
Есть код:

print '1';
sleep(10);
print '2';
sleep(10);
print '3';
sleep(10);
print '4';

у меня скрипт выдаёт сразу 1234 после 30 и секунд ожидания. Как сделать что бы всё выдавалось по мере выполненеия кода?

Автор: HalkaR 19.8.2003, 10:36
Я проверил - все работает, цифры выводятся, через промежутки времени. Ты на чем тестируешь?

Автор: Дмитрий 19.8.2003, 23:28
HalkaR я тестирую апачем. А у тебя какой хост?

Автор: KesTeL 20.8.2003, 01:00
Пробовал исполнить на IIS 5.1 у мя что-то он не запустился, хотя все остальное запускалось без вопросов.

Автор: HalkaR 20.8.2003, 11:48
Если так, то ты ничего зделать не сможешь - результат работы скрипта выдается только тогда, когда скрипт полностью отработает. Отключение буферизации в данном случае не помогает, проверено.

Автор: korob2001 21.8.2003, 12:10
А запустить данный скрипт из под DOS'a или терминала не пробовал? Через браузер ничего не выйдет. А если всёже это необходимо сделать используй JavaScript, DHTML.

Автор: Unregistered 21.8.2003, 19:43
а как яву исспользовать?

Автор: Lonely Ranger 7.10.2003, 10:09
В начале скрипта поставь переменную $|=1
Это значит, что не будет наполняться буфер печати, а сразу выдаваться на печать.

Автор: HalkaR 7.10.2003, 13:42
Цитата(Lonely @ 7.10.2003, 10:09)
В начале скрипта поставь переменную $|=1
Это значит, что не будет наполняться буфер печати, а сразу выдаваться на печать.

Нет. confused.gif В данном случае это бесполезно.

Автор: NightGoblin 8.10.2003, 06:46
Цитата(HalkaR @ 20.8.2003, 08:48)
Если так, то ты ничего зделать не сможешь - результат работы скрипта выдается только тогда, когда скрипт полностью отработает. Отключение буферизации в данном случае не помогает, проверено.

Хм, странно... а у меня так целый чат работает smile.gif

Автор: HalkaR 8.10.2003, 21:18
NightGoblin, ну я конкретно этот скрипт тестировал. Все равно вся инфа выдается целиком.

Автор: NightGoblin 8.10.2003, 23:22
Блин, ну все правильно... Это из-за браузера, сервер тут ни при чем... попробуй вставить <br> smile.gif Просто строчку форматировать так тяжеловато, по одному символу smile.gif А если нужно именно в строчку, то можно сделать на JavaScript цикл с задержкой, который будет document.print()'ать.

PS: Убедиться, что дело именно в браузере очень просто: запускаете telnet, вводите запрос вручную и наслаждаетесь зрелищем smile.gif

Автор: Lonely Ranger 24.10.2003, 10:10
HalkaR у меня такое работало, но не всегда. Мне кажется это зависит от того кэшируется ли сервером страницы.

Автор: HalkaR 24.10.2003, 20:02
Lonely Ranger, да что-то в этом роде. Вот только я не знаю, как это настроить.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)