Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

(jeffa) 5Re: (Ovid - Why I love nested If-Else blocks)

by jeffa (Bishop)
on Jan 04, 2002 at 04:30 UTC ( [id://136160]=note: print w/replies, xml ) Need Help??


in reply to Re: Re: (jeffa) 2Re: (Ovid - Why I love nested If-Else blocks)
in thread Why I Hate Nested If-Else blocks

Awwww man, i like that ... thing:
|| : ||
gave me an Atari flashback! :D

I do commend runrig for giving a working piece of code that kicked the dog doo out of it's conterpart. It took me very little time to parse it, but i am not a newbie anymore.

For a newbie - that's just got to look like a nightmare. I really think that this is why Ovid loves nested if-else blocks:

Because newbies (especially those that are new to Perl but not to programming!) can understand them must faster.

Me, i like the dispatch table - once you really start using them, it's hard not to. Point of little return, so to speak. For one thing, it is very scalable - adding two new conditions was very easy:

my $func = ($foo > 7) ? $bar && \&bar_mysub || $baz && \&baz_mysub || $qux && \&qux_mysub : $bar && \&bar_other_mysub || $baz && \&baz_other_mysub || $qux && \&qux_other_mysub ; $func->($foo) if $func;
I did move the '?' and the ';' to make it easier to cut-copy and paste it ... but, man have we gotten away from a simple solution:

Tuck the check for the value of $foo away in the subroutines themselves, redundant, but that should be a piece of cake to follow and seems more configurable in the long run as well as very straight foward. The redundant pieces will end up becoming different anyway, thanks to Murphy's Law. ;)

jeffa

|| : ||

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others wandering the Monastery: (6)
As of 2024-03-19 07:56 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found