in reply to Speeding up Tie::File

There is no reason for Tie::File. That's for when you want to make modifications in the middle of a file. You have the exact opposite need.
sub get_first_line { my ($filename) = @_; open my $fh, '<', $filename or die "Cannot open '$filename' for reading: $!\n"; return scalar <$fh>; } use File::ReadBackwards; sub get_last_line { my ($filename) = @_; my $fh = File::ReadBackwards->new( $filename ) or die "Cannot open '$filename' for reading backwards: $!\n"; return $fh->readline; }