open(OLD, "< $old") or die "can't open $old: $!"; open(NEW, "> $new") or die "can't open $new: $!"; my @array = ; my $required_element_details = shift(@array); foreach my $remaining_details (@array) { print NEW "$remaining_details"; } close(OLD) close(NEW) rename($new, $old) #### open(OLD, "< $old") or die "can't open $old: $!"; open(NEW, "> $new") or die "can't open $new: $!"; flock (OLD, 2); flock (NEW, 2); [continue as before including renaming the file before the filehandles are closed]