in reply to Re: removing lines that are in the end of a file
in thread removing lines that are in the end of a file

Thanks a lot to you. This also removes the last line with SIL. This is not how i wanted but still you have made my task a lot easier. I can add last SIL using other software that i am currently working on.

  • Comment on Re^2: removing lines that are in the end of a file

Replies are listed 'Best First'.
Re^3: removing lines that are in the end of a file
by BrowserUk (Patriarch) on Apr 19, 2013 at 12:46 UTC
    This also removes the last line with SIL. This is not how i wanted

    ReadBackwards() has to do strange things with tell, so a little extra work is involved. Try this version:

    #! perl -slw use strict; use File::ReadBackwards; my $file = $ARGV[ 0 ]; tie *BW, 'File::ReadBackwards', $file; my $lastpos = -s( $file ); my $len = 0; while( <BW> ) { $len = length() +1; next unless length >1; last unless /SIL/; $lastpos = tell( BW ); } truncate $file, $lastpos + $len; close BW;

    Note: You won't need the +1 in the  $len = length() +1; line if you are not on Windows.


    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.