http://www.perlmonks.org?node_id=1020492


in reply to Re: File seek
in thread File seek

I am seeking to -500 as i know that the keyworn(<run>)wil be in last 500 characters

Replies are listed 'Best First'.
Re^3: File seek
by Anonymous Monk on Feb 25, 2013 at 10:45 UTC

    I am seeking to -500 as i know that the keyworn(<run>)wil be in last 500 characters

    no you aren't, seek doesn't take negative offsets, like the error message I showed says

      From the documentation

      The values for WHENCE are 0 to set the new position in bytes to POSITION; 1 to set it to the current position plus POSITION; and 2 to set it to EOF plus POSITION, typically negative.

      I suspect your error message is because you are trying to seek to a negative offset from the beginning of the file.

      Cheers,

      JohnGG

      seek (file, distance, from)

      As you can see, seek requires three arguments:

      file: which is the file variable representing the file in which to skip

      distance: which is an integer representing the number of bytes (characters) to skip

      from:which is either 0, 1, or 2

      0 - The number of bytes to skip from beginning of the file.

      1 - The number of bytes to skip from current location of the file.

      2 - The number of bytes to skip from end of the file.

      seek(CONFIRMEDOUTPUTFILE, -500, 2);

      The above line skip backward 500 bytes from the end of the file.