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