my $lock = "/tmp/lock_foo"; if( ! -f $lock || time - (stat($lock))[9] > 600 ){ # do stuff open FILE '>', $lock; # optionally write info/details to it }