IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Программирование (http://www.imho.ws/forumdisplay.php?f=40)
-   -   Perl, sleep (http://www.imho.ws/showthread.php?t=88203)

инкогнито 28.06.2005 16:46

Perl, sleep
 
не понимаю почему у меня не работает прога...

Код:

#!/usr/bin/perl 

@array = (1,2,3,4,5);
foreach $next (@array)
{
    print "$next";
    sleep 1;
    print "\b";
}

нужно сделать следующее: сначала пишеться 1, затем пауза 1 сек, потом 1 стираеться и на её месте пишеться 2, затем пауза 1 сек, потом стираеться 2 и пишеться на её месте 3, и тд.


если написать так
Код:

#!/usr/bin/perl 

@array = (1,2,3,4,5);
foreach $next (@array)
{
    print "$next";
    sleep 1;
    print "\n";
}

то всё работает, есть пауза, но это не то что мне нужно, так как с новой строки всё выдаёться :(


помогите! :help:

Gike 28.06.2005 16:51

я опять глупый вопрос задам
а почему ты думаешь что неработает?
он пишет все по очереди и стирает
в итоге на экране ничего не остается :)

вместо

print "$next";
sleep 1;
print "\b";

написать

print "\b";
print "$next";
sleep 1;

инкогнито 28.06.2005 16:55

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

твой вариант выдаёт мне просто 5. а действия "написать 1, стереть 1, написать 2, стереть 2..." выполняються мгновенно и их не видно

Ghost 28.06.2005 17:11

инкогнито
Весь прикол в том, что все работает... :( Оба варианта - и твой, и Gike. Ничего не менял - просто копи-паст и запустил.

инкогнито 28.06.2005 17:14

может изза того что я под Windows запускаю? :(

Gike 28.06.2005 17:17

Ghost
А у меня тоже неработает :(
во всех вариантах
он сначала все паузы выжидает а потом работает как будто нет их

я под Debian сижу
perl 5.8.4 (кажется)

Ghost 28.06.2005 17:24

Гы. Запускал в винде (WinXP Pro + SP2) актив-перлом (версию не помню, хуч убейте; тем более что от него для моих целей осталось только десяток dll и perl.exe).

З.Ы. Уп-пс. Нашел версию: ActivePerl 5.6.1.633. Покоцана до коленок (список файлов: perl56.dll, PerlEz.dll, perlis.dll, PerlMsg.dll, PerlSE.dll, a2p.exe, perl.exe, perl5.6.1.exe, perlglob.exe, wperl.exe).

Merlin Cori 28.06.2005 17:34

Ghost самый прикол в том, что у меня НЕ работает.. тож актив перл 5.8.6...
по завершении, остается в строке 5
хотя если в комодо, то в окне отладчика честно пишет 1 BS 2 т.д. ......

а если запустить perl -v, то сам все расскажет :)

Ghost 28.06.2005 17:44

Может в натуре из-за версии? У меня у единственного тут 5.6. К тому же - кастрированная... Других предположений не возникает.

Вот: http://www.vspu.ac.ru/~mvv/ghost/perl.rar
Запускал в консоли: perl.exe test.pl

инкогнито 28.06.2005 17:49

Цитата:

Сообщение от Ghost
Может в натуре из-за версии? У меня у единственного тут 5.6. К тому же - кастрированная... Других предположений не возникает.

Вот: http://www.vspu.ac.ru/~mvv/ghost/perl.rar
Запускал в консоли: perl.exe test.pl

охренеть! с твоим перлом работает как надо :eek:

спасибо! :beer:


Часовой пояс GMT +4, время: 11:32.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.