david <[EMAIL PROTECTED]> wrote:

> 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


That did the trick.  Thanks for catching my error.


Jeff


> 
> 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>
> 
> 


__________________________________
Do you Yahoo!?
Yahoo! Search - Find what you’re looking for faster
http://search.yahoo.com

-- 
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