On Thu, Sep 30, 2004 at 08:00:41AM -0500, Errin Larsen wrote:

> Hi Perlers,
> On 30 Sep 2004 10:11:29 +0100, Jose Alves de Castro
> <[EMAIL PROTECTED]> wrote:

> > On Wed, 2004-09-29 at 21:25, JupiterHost.Net wrote:
> > >   perl -l -00pe's/\n/\t/;s/\"//g;' FILENAME

> > It is my opinion that code should be explained, at least in this list.

And it normally is.  But if someone posts a message saying "please do
this for me" without (apparently) making any effort to do it themselves,
then a functioning cryptic one-liner response is a succinct way of
saying that as soon as you put a little more effort into this then so
will we.

> So, we get this as the code Perl is running:
> 
> LINE:
>   while( <> ) {
>     s/\n/\t/;      # Change newlines into tabs
>     s/\"//g;       # Remove all double-quotes
>   } continue {
>     print or die "-p destination: $!\n";
>   }
> 
> but with the special $/ = 0 as the input separator and $\ = \n as the
> output separator!
> 
> There!  Am I right?  This is fun ... we should do this more often! 

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]
http://www.pjcj.net

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