my $watchdog = "./watchdog.@{[time]}.$$"; open WATCHDOG, ">$watchdog" or die "Cannot open $watchdog for output: $!\n"; print WATCHDOG "This file may safely be deleted\n"; close WATCHDOG; while( $universe->evolve ) { if( !(++$iters % 100_000) ) { last unless -f $watchdog; } # do some more stuff } do_logging(); unlink $watchdog;