in reply to Re: Re: 'seek' on a FileHandle.pm object
in thread 'seek' on a FileHandle.pm object

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.

  • Comment on (bbfu) Re(3): 'seek' on a FileHandle.pm object

Replies are listed 'Best First'.
Re: (bbfu) Re(3): 'seek' on a FileHandle.pm object
by dsb (Chaplain) on Apr 17, 2001 at 23:16 UTC
    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

      Any byte, anywhere in the file.

      One thing to note is that seek resets the state of the filehandle, including errors, eof, as well as Perl's internal idea of whether or not it should append the filehandle to any warnings or error messages (see Re: Closing and re-opening the DATA Filehandle). That's why you might see the no-op seek (seek $fh, 0, 1) used occasionally for such things.

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