Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

RE: Remove the ^M Character from a Document

by ZZamboni (Curate)
on May 08, 2000 at 18:13 UTC ( #10606=note: print w/replies, xml ) Need Help??

in reply to Remove the ^M Character from a Document

On a similar note, the other day I had a postscript file with an embedded pixmap graphic which contained line breaks represented only as "\r", in addition to the usual DOS "\r\n" at the end of each line. The graphic with the \r's came up, in Unix, as a single over-900K line, which broke most programs I tried to use to manipulate the file (those programs were not written in Perl, clearly :-)

So based on this snippet, I came up with the following one-liner:

perl -pi -e 's/\r\n?/\n/g' <i>file</i>
which solved my problem.

Replies are listed 'Best First'.
Re: Remove the ^M Character from a Document
by hacker (Priest) on Jun 03, 2002 at 16:07 UTC
    You might want to try a different substitution character, to lessen the obfuscation on this syntax, such as:
    perl -pi.orig -e 's#\r\n#\n#g' filespec
    perl -pi.orig -e 's,\r\n,\n,g' filespec
    Though ideally, this is more correct:
    perl -pi.orig -e 's,\cM,,g' filespec # commas for clarity
      The use of the forward slash to delimited regular expressions and replacements has a history of decades - predating the birth of Perl by years. There are no forward slashes in the regular expression that could cause confusion. So, other than a fear of forward slashes, what makes you think use of a forward slash contributes to obfuscation?


        Perhaps hacker actually means that the use of another character could make things easier to read. I remember somewhere some book or other refering to the "leaning toothpick" problem.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://10606]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (5)
As of 2018-07-16 05:03 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 (332 votes). Check out past polls.