NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.
All the Perl that's Practical to Extract and Report
Stories, comments, journals, and other submissions on use Perl; are Copyright 1998-2006, their respective owners.
Re: (Score:1)
What silly complaints.
for ( @foo ){ print "$_\n" }is fine butprint "$_\n" for @foo;is not? The obfuscatory bit, if there is one, is Perl’s strange attractor, the$_.I never followed the argument that trailing control flow constructs are somehow obfuscatory. What kind of retard does someone have to be if they understand
if( $foo ) { bar( $baz ) }but is totally lost as soon as it’s writtenbar( $baz ) if $foo? I’m not using “retard” in the name-calling sense either; I meanThe Mark of a Great Programming Language (Score:1)
Clearly the mark of a great programming language (if you're not a Lisp hacker anyway) is when a complete idiot who's never programmed before could maintain your code, not that that's pretty much the anti-pattern or anything.
(You should name your default variable
$itso everyone knows it's a pronoun.)renaming to $it (Score:2)
The problem with renaming $_ to $it is that many of the confused people will assume you mean the acronym IT and complain angrily when the variable doesn't meet their expectations!
Honestly, defending Perl against people whose impressions [joelonsoftware.com] of it were formed either by reading someone else's crappy code, or more commonly by reading the rantings of some dingdong who did so, is a FT job.
Re:renaming to $it (Score:1)
My rule is pretty simple. Any so-called programmer who can use a pronoun correctly in English has no business writing code if he can't use
$_correctly in Perl. (It's okay if you have to explain the similarity; it's not immediately obvious to people.)Re:renaming to $it (Score:1)
Re:renaming to $it (Score:1)
That's a fair point, as is the one about lexical declarations and postfix
if. I was thinking about the whiny won't someone please think of non-programmers argument about readability instead of legitimate implementation bugs.Reply to This
Parent