Print в одной строке

Категория: Perl Комментариев: 1

Иногда бывает необходимо выводить сообщения консольной программы в одной строке (например % выполнения какого-либо действия), затирая предыдущее содержимое строки. Вот функция на Perl для этого.
sub uprint
{
$|=1;
$arg=$_[0];
$arg=~s/\n//gs;
if(!$cnt)
{
1;
}
else
{
print "\b"x($cnt+1);
print " "x$cnt;
print "\b"x($cnt+2);
}
$cnt=length($arg);
print $arg;
}
sub uclear
{
&uprint("");
$argz=$_[0];
$argz=~s/\n//gs;
print "$argz";
print "\n";
}

Пример использования:
&uprint("Проверка номер раз...");
sleep(1);
&uprint("Проверка номер два...");
sleep(1);
&uprint("Проверка номер три...");
sleep(1);
&uclear("Все проверки завершены");

©перто тут: http://forum.dklab.ru/viewtopic.php?t=29214

Автор: Кто-то   @   28 июля 2009 Комментариев: 1
Метки : ,

Поблагодарить автора

Webmoney Z163628999150, R617151845974

Комментариев: 1

Комментарии
Сен 11, 2009
17:20
#1 md5encrypted :

а \r не проще использовать?

оставить комментарий

Предыдущая запись
«
Следующая запись
»