in reply to Dealing with non-ascii characters when reading file.
If you are reading a file where line end sequences are 'CR' followed by 'LF' (that is, "\r\n"), and you are sure that each line is ended in this fashion, then you should tell Perl so:
Just set the special variable $/ to the end-of-line sequence. In your case, that would be:
$/ = "\r\n";
Then, <FILE> will work as expected, as will chomp, and all other functions or operators expecting line endings to match the sequence in $/
Also noteworthy is the opposite variable, $\, which gets appended after all print operations, so you may save some time and have more readable lines if you use that.
If your problem is that the lines are not recognized, or you're not sure whether they end in "\n" or "\r\n", then just use $/ = "\n";, and read your file. Then, for each line, just s/\r$//;, if you care only for readability, and don't need to keep "control" characters in the flow.
|
|---|