Hi Paul, Thx for the response On Thu, 30 Sep 2004 15:30:06 +0200, Paul Johnson <[EMAIL PROTECTED]> wrote: <<SNIP>>
> > Pretty close: > > $ perl -MO=Deparse -l00pe's/\n/\t/;s/\"//g' > BEGIN { $/ = "\n"; $\ = "\000"; } > LINE: while (defined($_ = <ARGV>)) { > chomp $_; > s/\n/\t/; > s/"//g; > } > continue { > print $_; > } > -e syntax OK > > which shows a little confusion over $/ and $\, and an unnecessary \ in the > initial program. > > > This taught me a lot. > > Good :-) > > -- > Paul Johnson - [EMAIL PROTECTED] When I run your command line up there, I get the following: # perl -MO=Deparse -l00pe's/\n/\t/;s/\"//g' LINE: while (defined($_ = <ARGV>)) { chomp $_; s/\n/\t/; s/"//g; } continue { print $_; } -e syntax OK What OS are you running? My '-MO=Deparse' didn't create that BEGIN Block. I'm on Solaris, using Perl 5.6.1. I'm just curious what the difference is. --Errin BTW, I didn't know about the Deparse Pre-Compiler thing! Thanks for pointing it out. It's very handy. Why do you think Perl uses: while( defined( $_ = <ARGV> ) ) instead of: while( <> ) Is this example pointing out that the diamond ( <> ) operator is really a short-cut for 'defined( $_ = <ARGV> )' ? I'll have to go read about this. What is Perl protecting against by putting that assignment in a defined()? -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>