use strict ; use warnings; use Win32::Job ; my $job = Win32::Job->new; my $tmout = 20 ; my %opt = ( stdout => 'out.txt' , stderr => 'err.txt' ) ; $job -> spawn ( 'c:/perl/bin/perl.exe', 'perl sp.pl',\%opt) ; my $ok=$job->run($tmout, 0) ; $ok ? print "ended before $tmout sec" : print "had to kill it" ;