Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re^2: regular expressions with !

by ysth (Canon)
on Sep 14, 2006 at 14:49 UTC ( #572935=note: print w/ replies, xml ) Need Help??


in reply to Re: regular expressions with !
in thread regular expressions with !

Or even unless ( ! ( $test_string !~ /$regex/ ) ) {. Once you've taken the first step down the unless road, madness ensues. Don't use unless; it makes it too easy to misunderstand code.


Comment on Re^2: regular expressions with !
Select or Download Code
Re^3: regular expressions with !
by Nkuvu (Priest) on Sep 14, 2006 at 18:46 UTC

    Don't use unless; it makes it too easy to misunderstand code.

    I dislike overgeneralizations like this, personally. The following code is perfectly clear:

    do_something() unless $big_honkin_error;

    I'm not saying that you can't avoid unless and make the code still clear, of course:

    do_something() if not $big_honkin_error:

    but the unless version is just fine.

    I wouldn't use unless at the beginning of a condition, however. But that's related to putting the important parts at the beginning of the statement as per perlstyle recommendations. Specifically:

    Just because you *CAN* do something a particular way doesn't mean that you *SHOULD* do it that way. Perl is designed to give you several ways to do anything, so consider picking the most readable one. For instance

    PrivoxyWindowOpen(FOO,$foo) || die "Can't open $foo: $!";

    is better than

    die "Can't open $foo: $!" unless open(FOO,$foo);

    because the second way hides the main point of the statement in a modifier.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://572935]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (9)
As of 2015-07-04 14:43 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (60 votes), past polls