И всё прочее, что касается HTML
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
versen
- рядовой
- Сообщения: 24
- Зарегистрирован: 2007-04-09 11:34:34
- Откуда: из Ленинграда
-
Контактная информация:
Непрочитанное сообщение
versen » 2009-11-30 17:55:48
Всем добрый день!
Может кто знает, как вывести отсчет секунд.
Сейчас примерно так:
test.pl
Код: Выделить всё
#!/usr/bin/perl -w
use strict;
countdown(3);
sub countdown
{
for (my $i=$_[0];$i>0;$i--)
{
print "$i\n";
sleep(1);
}
}
Каждую секунду курсор переходит на новую строку и при кол-ве секунд больше 60 получается длинная портянка.
Как сделать, чтобы отсчет времени был в одной строке?
Fuck you, Spielberg! Непонятно же...
versen
-
Хостинг HostFood.ru
-
Хостинг HostFood.ru
Тарифы на хостинг в России, от 12 рублей:
https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.:
https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах:
https://www.host-food.ru/domains/
-
ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
-
Контактная информация:
Непрочитанное сообщение
ProFTP » 2009-11-30 17:59:18
versen писал(а):
Как сделать, чтобы отсчет времени был в одной строке?
чтобы весь скрипт был в одну строку?
а зачем?
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'


ProFTP
-
versen
- рядовой
- Сообщения: 24
- Зарегистрирован: 2007-04-09 11:34:34
- Откуда: из Ленинграда
-
Контактная информация:
Непрочитанное сообщение
versen » 2009-11-30 18:03:07
ProFTP писал(а):versen писал(а):
Как сделать, чтобы отсчет времени был в одной строке?
чтобы весь скрипт был в одну строку?
а зачем?
Нет... Скрипт по-фигу сколько строк..
Нужно, чтобы результат выполнения, т.е. отсчет секунд, был в одной строке...
А сейчас он печатает так:
Fuck you, Spielberg! Непонятно же...
versen
-
ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
-
Контактная информация:
Непрочитанное сообщение
ProFTP » 2009-11-30 18:12:00
Код: Выделить всё
#!/usr/bin/perl -w
use strict;
countdown(3);
sub countdown
{
for (my $i=$_[0];$i>0;$i--)
{
print "$i ";
sleep(1);
}
}
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'


ProFTP
-
versen
- рядовой
- Сообщения: 24
- Зарегистрирован: 2007-04-09 11:34:34
- Откуда: из Ленинграда
-
Контактная информация:
Непрочитанное сообщение
versen » 2009-11-30 18:16:12
ProFTP писал(а):Код: Выделить всё
#!/usr/bin/perl -w
use strict;
countdown(3);
sub countdown
{
for (my $i=$_[0];$i>0;$i--)
{
print "$i ";
sleep(1);
}
}
Нет. Не так.
Надо чтобы при запуске скрипта появлялась 3. Через секунду тройка менялась на "2".. далее двойка менялась на "1"..
Fuck you, Spielberg! Непонятно же...
versen
-
ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
-
Контактная информация:
Непрочитанное сообщение
ProFTP » 2009-11-30 18:19:54
т.е. чтобы было печатало 3, а потом просто 3 очистилась и появилась 2??
если, да, то никак нельзя в консоле...
можете посмотреть Сишные VESA
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'


ProFTP
-
versen
- рядовой
- Сообщения: 24
- Зарегистрирован: 2007-04-09 11:34:34
- Откуда: из Ленинграда
-
Контактная информация:
Непрочитанное сообщение
versen » 2009-11-30 18:22:10
ProFTP писал(а):т.е. чтобы было печатало 3, а потом просто 3 очистилась и появилась 2??
Да.
если, да, то никак нельзя в консоле...
Жаль..
Но Спасибо!
Fuck you, Spielberg! Непонятно же...
versen
-
ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
-
Контактная информация:
Непрочитанное сообщение
ProFTP » 2009-11-30 18:36:38
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'


ProFTP
-
thefree
- лейтенант
- Сообщения: 980
- Зарегистрирован: 2008-12-29 9:23:19
- Откуда: Весёлая Страна
Непрочитанное сообщение
thefree » 2009-11-30 23:12:55
поставьте перед выводам system("clear") если виндус то cls
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету
thefree
-
zg
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Непрочитанное сообщение
zg » 2009-12-01 6:24:51
versen писал(а):print "$i\n";
замени на
zg
-
thefree
- лейтенант
- Сообщения: 980
- Зарегистрирован: 2008-12-29 9:23:19
- Откуда: Весёлая Страна
Непрочитанное сообщение
thefree » 2009-12-01 9:03:03
Может я что-то не так делал, т.к. увидел только конечный результат а промежуточный не выводился.
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету
thefree
-
versen
- рядовой
- Сообщения: 24
- Зарегистрирован: 2007-04-09 11:34:34
- Откуда: из Ленинграда
-
Контактная информация:
Непрочитанное сообщение
versen » 2009-12-01 10:35:02
thefree писал(а):Может я что-то не так делал, т.к. увидел только конечный результат а промежуточный не выводился.
Да, я так с самого начала и пробовал... выводится только конечный резултат.
Fuck you, Spielberg! Непонятно же...
versen
-
thefree
- лейтенант
- Сообщения: 980
- Зарегистрирован: 2008-12-29 9:23:19
- Откуда: Весёлая Страна
Непрочитанное сообщение
thefree » 2009-12-01 11:22:00
кроме как через очистку, не вижу другой возможности.
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету
thefree
-
zg
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Непрочитанное сообщение
zg » 2009-12-01 11:52:17
thefree писал(а):т.к. увидел только конечный результат а промежуточный не выводился.
перл буферизирует вывод, нужно рыть эту сторону.
zg
-
ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
-
Контактная информация:
Непрочитанное сообщение
ProFTP » 2009-12-01 11:58:57
в книге "perl за 24 часа"
были игры консольные, там была игра по-моему handman которая выводила в консоль, но я не понмю как там было, можешь посмотреть эту книгу...
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'


ProFTP
-
s2323
- проходил мимо
Непрочитанное сообщение
s2323 » 2009-12-01 13:29:36
#!/usr/bin/perl -w
$| = 1; #no buf
use strict;
countdown(3);
sub countdown
{
for (my $i=$_[0];$i>0;$i--)
{
print "$i\r"; # \r
sleep(1);
}
}
s2323
-
s2323
- проходил мимо
Непрочитанное сообщение
s2323 » 2009-12-01 13:32:27
Код: Выделить всё
#!/usr/bin/perl -w
$| = 1; #no buf
use strict;
countdown(3);
sub countdown
{
for (my $i=$_[0];$i>0;$i--)
{
print "$i\r"; # \r
sleep(1);
}
}
s2323
-
versen
- рядовой
- Сообщения: 24
- Зарегистрирован: 2007-04-09 11:34:34
- Откуда: из Ленинграда
-
Контактная информация:
Непрочитанное сообщение
versen » 2009-12-01 14:17:45
s2323 писал(а):Код: Выделить всё
#!/usr/bin/perl -w
$| = 1; #no buf
use strict;
countdown(3);
sub countdown
{
for (my $i=$_[0];$i>0;$i--)
{
print "$i\r"; # \r
sleep(1);
}
}
Болшой Thanks! То, что надо.. .Только
поставил после
В итоге:
Код: Выделить всё
#!/usr/bin/perl -w
use strict;
countdown(4);
sub countdown
{
$| = 1; #no buf
for (my $i=$_[0];$i>0;$i--)
{
print "$i\r";
sleep(1);
}
}
Fuck you, Spielberg! Непонятно же...
versen
-
thefree
- лейтенант
- Сообщения: 980
- Зарегистрирован: 2008-12-29 9:23:19
- Откуда: Весёлая Страна
Непрочитанное сообщение
thefree » 2009-12-01 14:30:30
Скажем так это не отключения буферизация.
2s2323 Спасибо, я даже и не подумал что можно так.
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету
thefree