in reply to Re: How do I use the "File::ReadBackwards" and open in "Unicode text, UTF-32, little-endian" mode
in thread How do I use the "File::ReadBackwards" and open in "Unicode text, UTF-32, little-endian" mode

Thanks for your reply sundialsvc4, I think this was the conclusion that I was coming to but it's good to here it from someone else.
  • Comment on Re^2: How do I use the "File::ReadBackwards" and open in "Unicode text, UTF-32, little-endian" mode

Replies are listed 'Best First'.
Re^3: How do I use the "File::ReadBackwards" and open in "Unicode text, UTF-32, little-endian" mode
by hashperl (Initiate) on Mar 13, 2013 at 16:16 UTC

    I have found a simple solution for my particular case, as I know that I only want to match certain strings from the log file and none of the match strings will be none ASCII characters.

    I can use the ReadBackwards to read the line in then strip out none ASCII and null characters.

    my $ERRORLINES_IN = File::ReadBackwards->new($logfile) or die "$logfil +e : $!\n"; while (defined($logline = $ERRORLINES_IN->readline)) { $logline =~ s/[^[:ascii:]]//g; $logline =~ s/\0//g;

    It's not a perfect solution but it works for my case.

      File::ReadBackwards wouldn't work for me on Windows until I added two extra arguments:
      File::ReadBackwards->new($file,"\015\012",false);
      After that it started working as expected, which is odd, because it appears to set that as the default for Windows in the .pm.