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


in reply to Re^2: File seek
in thread File seek

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

Replies are listed 'Best First'.
Re^4: File seek
by johngg (Canon) on Feb 25, 2013 at 11:55 UTC

    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

Re^4: File seek
by vinoth.ree (Monsignor) on Feb 25, 2013 at 11:50 UTC
    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.