Forum Webscript.Ru
Программирование => Perl => Тема начата: dimfish от 15 Января 2002, 15:50:46
-
Вопрос такой - выводится текст, в конце которого пишутся проценты, например:
лалалал - 11%
лалалал - 12%
лалалал - 13%
как можно сделать, чтобы последние три символа затирались - а их место стаивились новые три символа, т.е застопорить строку... Интересно и Dos и Unix варианты...
-
под винду нашёл:
$CONSOLE=new Win32::Console(STD_OUTPUT_HANDLE);
$CONSOLE->Attr($FG_YELLOW | $BG_BLUE);
$CONSOLE->Write("Hello, worlds!");
осталось под *nix....
-
Hi.
не совсем понял что ты хочешь, сужу по модулю который для винды используешь, может тебе подойдет Term::Cap ето для *nix, для винды не уверен, а вот POSIX::Termios, думаю заменит оба.
Если конечно это то.
-
vladsu
Term::Cap
неа немного не то....
а вот POSIX::Termios, думаю заменит оба
Спасибо - посмотрю на юнихе ;)
на Active Perl его нету, а под винду я нашёл уже Win32::Console...
-
vladsu
а вот, что мне надо было:
$CONSOLE=new Win32::Console(STD_OUTPUT_HANDLE);
$CONSOLE->Attr($FG_GREEN | $BG_BLACK);
...
open F,">$name";
binmode F;
$resp=$ua->request($req,\\&data,4096);
close F;
sub data{
my($data, $response, $protocol) = @_;
$length+=length($data);
print F $data;
$CONSOLE->Cursor(0,23,0,0);
my $size=$response->as_string();
$size=~s#.*Content-Length: (\\d*).*#$1#si;
printf "loading $name %7.2fk of %7.2fk - %2.2f%%",$length/1024,$size/1024,$length/$size*100;
}
-
Под Unix можно
print "\\rtext - xx%";
Это возврат каретки без перевода строки.
-
Oak
Thx.