{ # Make sure file gets closed and unlocked when we're done. open(my $IN, '<', ...) or die("...: $!\n"); # Wait for people to stop writting: flock($IN, LOCK_SH) or die("...: $!\n"); while (my $line = <$IN>) { ... } # close ($IN); # not really needed => closed at end of block }