#!/usr/bin/perl use strict; use warnings; my $logfile = "logfile"; my @entries; open(LOG, "<$logfile") || die "Could not open $logfile reading\n"; flock(LOG, LOCK_EX) || die "Could not lock file $!\n"; for (1..10) { chomp($_ = ); push @entries, $_; } #Do something with @entries # open(LOG, ">$logfile") || die "Could not open $logfile for writing\n"; truncate(LOG, 0); print LOG join("\n", @entries), "\n"; close(LOG);