Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Re: Re: Handling Mac, Unix, Win/DOS newlines at readtime...

by John M. Dlugosz (Monsignor)
on Sep 25, 2002 at 19:32 UTC ( #200711=note: print w/replies, xml ) Need Help??

in reply to Re: Handling Mac, Unix, Win/DOS newlines at readtime...
in thread Handling Mac, Unix, Win/DOS newlines at readtime...

I think the problem is only when the data being processed doesn't use the same encoding as the source file.
  • Comment on Re: Re: Handling Mac, Unix, Win/DOS newlines at readtime...

Replies are listed 'Best First'.
Re^3: Handling Mac, Unix, Win/DOS newlines at readtime...
by Flexx (Pilgrim) on Sep 25, 2002 at 22:57 UTC

    Why? Do you mean the perl scripts 'source' encoding? That doesn't really matter here.

    Perl's impression of what \r and \n mean differs from system to system. A Mac would output \015 when it sees \n while a unix box would generate \012 (IIRC now, it might also be the other way round... ;).

    So if a script tries to handle DOS text files using \r\n to split, chomp, substitute, etc. input, it will work on a system that has a compatible native encoding (ASCII). If, however, you run the same script on a noncompatible system (for example on an EBCDIC platform like IBM's AS400, or even something more common like a Pre-OS X Mac) it will do really funny things with your input, as it translates \r\n to some other ordinals, regardless of the scripts source encoding (which will most likely be the platforms "native" encoding).

    Same is true of course, when you want to operate on files coming from AS400 machines on your unix box (which is more likely, I guess). If you'd try split these files on (unix') \n, you'll hit anything but a line end...

    To sum up: DOS files want to be split on \015\012, regardless of what line terminators the splitting sytem uses...

    So long,

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://200711]
[Corion]: Heh - vroom came with interesting news - the site will likely be migrated away from *BSD to Ubuntu soonish... Hopefully I can give the new environment a test drive before it spins up :)
[Corion]: Also, that likely means we'll get a newer Perl, so we could then move the codebase to newer features ;)

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (7)
As of 2018-07-19 07:54 GMT
Find Nodes?
    Voting Booth?
    It has been suggested to rename Perl 6 in order to boost its marketing potential. Which name would you prefer?

    Results (404 votes). Check out past polls.