use Perl::Unsafe::Signals; print "Evaluating... \n"; #eval{ local $SIG{ALRM} = sub { $sys_check_mount{$mount_server} = 0; print "Alarm!"; exit(); }; alarm(5); print "Alarm Set... Trying system commands... \n"; UNSAFE_SIGNALS { print "Using unsafe signals... \n"; if (-e $mount_server_check_path && utime(undef, undef, "$mount_server_check_path/mount_check")){ #print "OK\n"; $sys_check_mount{$mount_server} = 1; }else{ #print "Broken\n"; $sys_check_mount{$mount_server} = 0; push (@mount_server_broken,$mount_server); } }; alarm(0); print "Reset Alarm... \n";