[Moscow.pm] Net::FTP, FTP Transfer Status, $ftp->hash , фильтрация STDOUT - как получить число вместо решёток?

Dmitry Arsentiev dmarsentev на gmail.com
Ср Янв 12 08:28:13 PST 2011


> Ещё раз ммм...
>
>
> package My::ProgressBar;
>
> sub TIEHANDLE {
>    my $class = shift;
>    bless {}, $class;
> }
>
> sub PRINT {
>    my $self = shift;
>    $self->{count} ||= 1;
>    print 1024 * $self->{count}++ . " bytes received\n"
> }
>
> package main;
>
> use Net::FTP;
>
> tie *bar, 'My::ProgressBar';
>
> my $ftp = Net::FTP->new("ftp.microsoft.com", Debug => 0);
> $ftp->login("anonymous","-anonymous\@");
> $ftp->cwd("MISC");
> $ftp->hash(\*bar);
> $ftp->get("NBFCP.TXT");
> $ftp->quit;

Спасибо, Евгений, заработало!!! :)
Как у вас хорошо получается говорить м-м-м.. ;)
Заодно я вспомнил, за что я ненавижу perl. ;)






12 января 2011 г. 19:02 пользователь Evgeniy Kosov <evgeniy на kosov.su> написал:
> On 12.01.2011 18:21, Dmitry Arsentiev wrote:
>>>
>>> Мм.. Подсунуть вместо STDOUT свой хэндл, которые считает решётки, вместо
>>> того, чтобы их выводить?
>>
>> Евгений, вот этот код выводит решётки:
>>      $ftp->hash(\*STDOUT, $BYTES_PER_HASH);
>>      $ftp->get( $zip_archive_name ) or warn "failed getting
>> ftp-archive $zip_archive_name $? $!\n";
>>      $ftp->quit;
>>
>> А вот этот код не выводит решётки:
>>      local *FOO;
>>      $ftp->hash(\*FOO, $BYTES_PER_HASH);
>>      print<\*FOO>;
>>      $ftp->get( $zip_archive_name ) or warn "failed getting
>> ftp-archive $zip_archive_name $? $!\n";
>>      $ftp->quit;
>
> Да, не выводит :)
>
>> Вывод: не всё так просто.
>
> Ещё раз ммм...
>
>
> package My::ProgressBar;
>
> sub TIEHANDLE {
>    my $class = shift;
>    bless {}, $class;
> }
>
> sub PRINT {
>    my $self = shift;
>    $self->{count} ||= 1;
>    print 1024 * $self->{count}++ . " bytes received\n"
> }
>
> package main;
>
> use Net::FTP;
>
> tie *bar, 'My::ProgressBar';
>
> my $ftp = Net::FTP->new("ftp.microsoft.com", Debug => 0);
> $ftp->login("anonymous","-anonymous\@");
> $ftp->cwd("MISC");
> $ftp->hash(\*bar);
> $ftp->get("NBFCP.TXT");
> $ftp->quit;
>
> --
> С уважением,
> Евгений Косов
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>


Подробная информация о списке рассылки Moscow-pm