Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re^6: A Case with 5 Var's

by eric256 (Parson)
on Jan 25, 2007 at 17:58 UTC ( #596577=note: print w/ replies, xml ) Need Help??


in reply to Re^5: A Case with 5 Var's
in thread A Case with 5 Var's

Actually I would think it comes out to the same number of if's but in a more readable format where you can see immediately which elements had to be true to force that query, either way I would recommend building the query on the fly if that is at all possible. Either way this is 25 lines instead of 70ish.

if ($1 && $2 && $3) { #a } if ($1 && $2) { #b } if ($1 && $3) { #c }

versus

if ($1) { if ($2) { if ($3) { #a } else { #b } } elsif ($3) { #c } }

I got a little bored and tried it out. Unless i screwed something up I think you are messing several combinations.

if ($name && $vorname && $plz && $tel && $tel49) { $qry = ""} elsif ($name && $vorname && $plz && $tel) { $qry = ""} elsif ($vorname && $plz && $tel && $tel49) { $qry = ""} elsif ($name && $plz && $tel && $tel49) { $qry = ""} elsif ($name && $vorname && $plz) { $qry = ""} elsif ($name && $plz && $tel) { $qry = ""} elsif ($name && $tel && $tel49) { $qry = ""} elsif ($vorname && $plz && $tel) { $qry = ""} elsif ($plz && $tel && $tel49) { $qry = ""} elsif ($name && $vorname) { $qry = ""} elsif ($name && $plz) { $qry = ""} elsif ($name && $tel) { $qry = ""} elsif ($name && $tel49) { $qry = ""} elsif ($vorname && $plz) { $qry = ""} elsif ($plz && $tel) { $qry = ""} elsif ($tel && $tel49) { $qry = ""} elsif ($plz) { $qry = ""} elsif ($name) { $qry = ""} elsif ($tel) { $qry = ""} elsif ($tel49) { $qry = ""} elsif ($vorname) { $qry = ""}

___________
Eric Hodges


Comment on Re^6: A Case with 5 Var's
Select or Download Code
Re^7: A Case with 5 Var's
by ultibuzz (Monk) on Jan 26, 2007 at 13:03 UTC
    and what is with the combination $vorname && tel && tel49 ;)
    i really like this idear of hash and a hash with all bitmasks
    kd ultibuzz

      Tha combination? Thats just all the combinations you where testing for in your old code. I agree bitmasks or building as you go are probably better solutions. Just giving you more than one way to do it.


      ___________
      Eric Hodges

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (3)
As of 2014-10-02 06:14 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    What is your favourite meta-syntactic variable name?














    Results (49 votes), past polls