use strict; use File::Copy; use Fcntl ':flock'; # import LOCK_* constants my $status_file = "/tmp/flocktest"; open(STATUS, "+<$status_file") || die "Can't open file"; flock(STATUS,LOCK_EX) || die "Can't lock file"; copy("$status_file","/tmp/foo"); #### copy(\*STATUS,"/tmp/foo");