in reply to (tye)Re: Platform Differences
in thread Platform Differences

Newlines cause other problems than just cross-platform transfert.
As read in perlport :

Due to the ``text'' mode translation, DOSish perls have limitations of using seek
and tell when a file is being accessed in ``text'' mode.
Specifically, if you stick to seek-ing to locations you got from tell (and no others),
you are usually free to use seek and tell even in ``text'' mode.
In general, using seek or tell or other file operations that count bytes instead of characters,
without considering the length of \n, may be non-portable.

If you use binmode on a file, however, you can usually use seek and tell with arbitrary values quite safely.



"Only Bad Coders Code Badly In Perl" (OBC2BIP)

Replies are listed 'Best First'.
(tye)Re2: Platform Differences
by tye (Sage) on Aug 07, 2001 at 21:33 UTC

    For what it's worth, I don't consider this a problem with newlines either. That is just a standard limitation of C's seek() for non-byte-stream files. I never use seek to skip byte offsets. MacOS has a different newline but has byte-stream files. Other operating systems don't even have newlines and don't have byte-stream files and so tell doesn't give you a byte offset anyway (if gives you a record number and an offset within that, for example).

            - tye (but my friends call me "Tye")