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

Иногда бывает необходимо выводить сообщения консольной программы в одной строке (например % выполнения какого-либо действия), затирая предыдущее содержимое строки. Вот функция на 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

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

One Response to Print в одной строке

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

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>