use Sys::SigAction qw( timeout_call ); if ( timeout_call( 5 ,sub { $retval = DoSomething( @args ); } ) { print "DoSomething() timed out\n" ; } #### 177 eval { 178 if ( timeout_call( 10, sub { $ret = system($mnt_cmd); } ) 179 { 180 logit ("Couldn't get to $smbdest, and couldn't mount it running $mnt_cmd"); 181 return 1; 182 } #### [support@hydra script]$ ./cfg_sucker.pl syntax error at ./cfg_sucker.pl line 179, near ") {" syntax error at ./cfg_sucker.pl line 186, near "}" Execution of ./cfg_sucker.pl aborted due to compilation errors.