Jeff Westman wrote:

> I need a one-liner to convert all occurances read from a Unix pipe
> of
> 
>   'backslash' + 'literal new line (hex 0a)'
> 
> to become just
> 
>   'literal new line (hex 0a)'
> 
> That is, remove the '\' only when it preceeds a new-line.  Again,
> this must be read from a pipe.  This is what I have so far, but it
> doesnt do work:
> 
>   cat dfile | perl -pe 'BEGIN { $str = ord(10); } s!\\$str!$str!g'
> 
> Suggestions?!

that's because:

[panda]# perl -le 'print ord(10)'
49
[panda]# perl -e 'print chr(10)'

[panda]#

you want chr(10):

[panda]# cat dfile
\abcd\xxx\yyy\
1234\zzz

[panda]# perl -pe 's.\\\n.\n.g' < dfile
\abcd\xxx\yyy
1234\zzz

[panda]# perl -pe 'BEGIN{$n = chr(10)} s.\\$n.$n.g'
\abcd\xxx\yyy
1234\zzz

david
-- 
s$s*$+/<tgmecJ"ntgR"tgjvqpC"vuwL$;$;=qq$
\x24\x5f\x3d\x72\x65\x76\x65\x72\x73\x65
\x24\x5f\x3b\x73\x2f\x2e\x2f\x63\x68\x72
\x28\x6f\x72\x64\x28\x24\x26\x29\x2d\x32
\x29\x2f\x67\x65\x3b\x70\x72\x69\x6e\x74
\x22\x24\x5f\x5c\x6e\x22\x3b\x3b$;eval$;

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to