Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re: How do I...Conditional hash value

by myocom (Deacon)
on Jul 26, 2002 at 22:20 UTC ( #185685=note: print w/ replies, xml ) Need Help??


in reply to How do I...Conditional hash value

First off, beware the "= vs. eq vs. ==" bug. Remember that = does an assignment, == compares numeric values, and eq compares string values. Having said that, what you're probably looking for is the ternary ?: operator (documented in perlop). I'd write what you're looking for like this:

my %required; $required{path} = ($ENV{HTTP_HOST} eq 'www.shrum.net') ? 'g:/websites/shrum.net/' : 'd:/users/http/html/';

Then again, if you have several keys to set, you're probably better off doing:

my %required; if ($ENV{HTTP_HOST} eq 'www.shrum.net') { # We now know which # platform we're on... $required{path} = 'g:/websites/shrum.net/'; $required{someotherkey} = 'some other string'; } else { $required{path} = 'd:/users/http/html/'; $required{someotherkey} = 'some different string'; }
"One word of warning: if you meet a bunch of Perl programmers on the bus or something, don't look them in the eye. They've been known to try to convert the young into Perl monks." - Frank Willison


Comment on Re: How do I...Conditional hash value
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (14)
As of 2015-07-30 14:56 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 (271 votes), past polls