while (<$filehandle>) { tr/blah/blah/ if /^\d{16}/; # do the translation print; # output result } #### my @data = <$filehandle>; print $data[0]; # print first line for (1..$#data-1) { # skip first and last line $data[$_] =~ tr/blah/blah; print $data[$_]; } print $data[-1]; # print last line