http://www.perlmonks.org?node_id=427255


in reply to Re: Newlines: reading files that were created on other platforms
in thread Newlines: reading files that were created on other platforms

Can someone explain this one a little more.
I did a quick look in programming perl and Advanced perl programming and did not see anything like this.

Thanks

Replies are listed 'Best First'.
Re^3: Newlines: reading files that were created on other platforms
by monkey_boy (Priest) on Feb 02, 2005 at 15:22 UTC
    Hi, sorry for the terse answer!
    Its the syntax for combining this
    open(FH, "<$file"); binmode(FH, ":crlf");

    The :crlf bit just tells perl to look for varients of line-ending sequences & turn them all into "\n".
    there is more info in the Cammel book.

    Update
    In the "open" documentation, Page 754 in the 3rd edition.






    I should really do something about this apathy ... but i just cant be bothered
      Thanks, Must be time to retire my 2nd Ed. and get the 3rd.
      I also did a little more RTFM and found it in perlfunc.
        No need!,
        The binmode docs give a good explanation.


        I should really do something about this apathy ... but i just cant be bothered

      This may seem like a trivial thing to some but I always assume my input files are unix based therefore I fight this problem more often than I would like to admit.

      I've converted files using unix tools and converted lines in a sloppy way that always got the job done but seemed like more of a hack than anything. I really needed something quick (starting to sound like the usual case for me? Re: Don't go all PerlMonks on me -- leaving for a long weekend (AGAIN), in less than an hour (AGAIN)).

      This was so simply and worked with almost a simply cut/paste (I only changed the file handle). I was going to do sloppy programming (I was told to read documentation, but really wanted to test and troubleshoot if it threw an error) but this worked like a charm - clean and concise without the use of confusing regular expressions.

      Thank you so very much.