Fairly bog standard stuff, Paul ...
open (DATAFILE, "$datafile");
@datafile = <DATAFILE>;
close (DATAFILE);
open (DATAFILE, ">$datafile");
flock (DATAFILE, 2);
seek (DATAFILE, 0, 0);
foreach $dataline (@datafile)
{
chomp $dataline;
($reference, $data1, $data2, $data3) =...