Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: How would you go about it?

by pbeckingham (Parson)
on Jul 26, 2004 at 16:14 UTC ( [id://377472]=note: print w/replies, xml ) Need Help??


in reply to How would you go about it?

Nice code. I saw something in your code that I was doing, and lately converted. These lines:

#use default directory if argument not set on command line find(\&fileop, $opts{'directory'}) unless @ARGV; find(\&fileop, @ARGV) if @ARGV;
Your use of if and unless are creating a more compact form of if (...){} else {} for calling &find. I love statement modifiers, but I now use the following form:
#use default directory if argument not set on command line find(\&fileop, @ARGV ? @ARGV : $opts{'directory'});
That way, with a true if/else variant, I never screw up the logic and inadvertently create overlapping conditions, which were difficult to debug.

Yes, Aristotle said the same thing, but the key, I think, is not the needless redundancy of the code, but the danger of creating those overlapping conditions.

Replies are listed 'Best First'.
Re^2: How would you go about it?
by Aristotle (Chancellor) on Jul 26, 2004 at 17:57 UTC

    the key, I think, is not the needless redundancy of the code, but the danger of creating those overlapping conditions.

    You're contradicting yourself. :-) Try: "the key is the needless redundancy of the code because of the danger of creating those overlapping conditions". It's the Don't Repeat Yourself principle. The potential for overlapping conditions is just one manifestation of the same basic danger: if you make multiple copies, you risk having them run out of synch. That's why you should always strive to do things Once And Only Once.

    Makeshifts last the longest.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others exploiting the Monastery: (7)
As of 2024-04-23 19:30 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found