> -----Original Message-----
> From: Hanson, Robert [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, January 02, 2002 2:21 PM
> To: 'Maciejewski, Thomas'
> Cc: [EMAIL PROTECTED]
> Subject: RE: C vs. Perl
>
>
> No flames from me.
>
> One of Perl's strong/weak points is that there are too many ways to do
> something... I agree with that. But it is up to the
> programmer to implement
> solutions that make sense and are easy to maintain. I personally like
> having the power to do what I need to do, which makes it my
> responsibility
> to use that power wisely.
>
> Some things that I avoid:
>
> s/^\s*(.*?)\s*$/$1/,print for (<>);
I avoid that as well. From the perlfaq4:
...Although the simplest approach would seem to be:
$string =~ s/^\s*(.*?)\s*$/$1/;
This is unneccesarily slow, destructive, and fails with embedded newlines.
It is much better faster to do this in two steps:
$string =~ s/^\s+//;
$string =~ s/\s+$//;
Also, I don't see the point of the list-context call to <>
(although the optimizer may be smart enough to avoid sucking
the file into memory; I'm not sure).
I would use this:
s/^\s+//, s/\s+$//, print "$_\n" while <>;
>
> Instead I use this:
>
> foreach my $line ( <STDIN> ) {
> $line =~ s/^\s*(.*?)\s*$/$1/; # trim space
> print $line;
> }
>
Not sure how much of an improvement that is. I find the Perl
statement modifiers to be a tremendous boon to readability.
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]