use File::Fetch; my $ff = File::Fetch->new(uri => 'http://live.sysinternals.com/psservice.exe'); my $where = $ff->fetch( to => $ENV{TEMP} || $ENV{TMP} ) or die $ff->error; system $where, qw{ -? -accepteula /accepteula } ) ; ## run for each user