2013-06-29 50 views

回答

1

我必須提供至少30個字符,但我認爲我最初的3個字回答了這個問題只是完美。

1

可以使進度條與progress event from Mojo::Message

$| = 1; 

my $ua = Mojo::UserAgent->new; 
$ua->on(start => sub { 
    my ($ua, $tx) = @_; 

    $tx->req->once(finish => sub { 
     $tx->res->on(progress => sub { 
      my $msg = shift; 
      return unless my $len = $msg->headers->content_length; 
      my $size = $msg->content->progress; 
      print "\rProgress: ", $size == $len ? 100 : int($size/($len/100)), '%'; 
     }); 
    }); 
}); 

my $tx = $ua->get($url); 
print $tx->error ? "\nDownloading failed: ".$tx->error->{message} : "\nDownloading finished!\n"; 
幫助