sub doUpdate{ print "doUpdate\n"; my $url = 'https://www.domain.com/download/updater.exe'; my $file = $Path . '/updater.exe'; print "Saving updater in $file\n"; my $ttlDown = 0; my $ua = LWP::UserAgent->new; open my $out, '>:raw', $file or die "$file: $!"; my $resp = $ua->get( $url, ':content_cb' => sub { my ($data, $response) = @_; my $size = $response->content_length; $ttlDown += length $data; $percent_done= $ttlDown * 100.0 / $size; print {$out} $data; $mw->update(); }, ); close $out; print "Out\n"; }