Здравствуйте. Может кто-нибудь подсказать, каким образом, используя модуль Net::FTP, из transfer status-а в виде строки с решётками получить количество эттих решёток. ОС WinXP SP3.
Пользуясь вот этим советом http://www.perlmonks.org/index.pl?node_id=242130 запускаю аналог этого кода m $BYTES_PER_HASH = 1024; my $ftp = Net::FTP->new("ftp.microsoft.com", Debug => 0); $ftp->login("anonymous","-anonymous\@"); $ftp->cwd("MISC"); $ftp->hash(\*STDOUT, $BYTES_PER_HASH); $ftp->get("NBFCP.TXT"); $ftp->quit; и получаю на экране много решёток, которые возвращает метод hash. Вопрос: как отфильтровать STDOUT, чтобы вместо строки из решёток на экране получалось, например, число, равное количеству этих решёток? Вообще, если у кого-то есть опыт визуализации _не_ _решётками_ transfer status-а при использовании Net::FTP, поделитесь пожалуйста. Спасибо. PS Полный рецепт http://www.perlmonks.org/index.pl?node_id=242130 - см. код ниже - не работает, ругается на -| , говорит, что нет такой переменной "-". #!/usr/bin/perl use strict; use Net::FTP; my $BYTES_PER_HASH = 1024; # Fork a child process for Net::FTP # and capture its output one char at # a time if (open(FTP, "-|")) { # parent my $count = 1; while (getc(FTP)) { print $BYTES_PER_HASH * $count, " bytes received\n"; $count++; } print "Done\n"; } else { # child my $ftp = Net::FTP->new("ftp.microsoft.com", Debug => 0); $ftp->login("anonymous","-anonymous\@"); $ftp->cwd("MISC"); $ftp->hash(\*STDOUT, $BYTES_PER_HASH); $ftp->get("NBFCP.TXT"); $ftp->quit; } -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
