use Fcntl; sub get_lastline_of_file {   my ($file) = @_;   my $fh;   return undef unless open($fh, "< $file");   binmode $fh;   seek($fh, 0, SEEK_END);     my $size = tell($fh);   my $rest = $size;   my $step = 256;   my $retval = "";   while($rest > 0)   {      my $buffer;      my $len = $step > $size ? $size : $step;      seek($fh, -$len, SEEK_CUR);      unless(read($fh, $buffer, $len))      {         close $fh;         die "Read failed unexpected.";      }          my $pos = rindex($buffer, "\n");      while($pos > -1)      {         if(($pos != -1 + length $buffer) or ($rest != $size))         {            return substr($buffer, $pos+1).$retval;         }         $pos = rindex($buffer, "\n", $pos);      }      $retval = $buffer.$retval;      $rest -= $len;   }   return $retval; }