in reply to Platform Differences

I'll disagree with some of the points provided so far.

My suggestions on porting are more along the lines of "use modules" first, Perl second, and avoid everything else. So use IPC::Open3 not fork. Use File::Copy and mkdir not system. Use readdir not qx.

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

Replies are listed 'Best First'.
Re: (tye)Re: Platform Differences
by arhuman (Vicar) on Aug 07, 2001 at 16:30 UTC
    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)

      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")