in reply to 'seek' on a FileHandle.pm object

seek( $fh,0,1 );
That's the "no-op" seek. You're saying to seek 0 relative bytes from the current position. That's pretty much where you already are.

Perhaps you want to rewind the file, which would be either rewind $fh or seek $fh, 0, 0.

-- Randal L. Schwartz, Perl hacker

Replies are listed 'Best First'.
Re: Re: 'seek' on a FileHandle.pm object
by dsb (Chaplain) on Apr 17, 2001 at 23:02 UTC
    Let me see if I got this straight now, after rereading the definition of 'seek' as according to Programming Perl, 3rd Ed.(I think you know that book... =).

    If 'seek' is called like so:

    seek( FH, 0, 0 );
    ...the first argument refers to the filehandle, the second argument to the offset, and the third one of three positions in the file(beginning, current, end).

    I see my mistake was thinking of 'offset' as equivalent to line numbers, which it is not. It refers to byte positions. So, my new question is: Is 'byte positions' really as simple as it sounds(the positions of the byte in the file)? So if I knew the exact byte position that I wanted to seek to I could enter it as the offset argument and be taken right there?

    Amel - f.k.a. - kel

      You are correct in your interpretation. And it is as simple as that. It only gets complicated if you need to do something like: "go to the line exactly half-way through the 20M file," since it's nigh on impossible to know the byte position of an arbitrary line number without reading through the entire file, a byte (or block, as it were) at a time. =( But as long as you know the byte position already, you're good to go.

      bbfu
      Seasons don't fear The Reaper.
      Nor do the wind, the sun, and the rain.
      We can be like they are.

        One more:
        Does 'byte position' apply only to the position of the beginning of the line, or the position of any single byte within the file?

        Amel - f.k.a. - kel

Re: Re: 'seek' on a FileHandle.pm object
by dsb (Chaplain) on Apr 17, 2001 at 22:51 UTC
    That did it. I guess I misinterpreted how to use 'seek'...time to hit the books again...THANKS!!!

    Amel - f.k.a. - kel