Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Re: Trying to compare a string...

by kcott (Chancellor)
on Oct 18, 2013 at 08:25 UTC ( #1058722=note: print w/replies, xml ) Need Help??

in reply to Trying to compare a string...

G'day calebcall,

A non-empty string (except '0') will always be TRUE in a boolean context. So, 'Sci-Fi' will always be TRUE. Therefore, even if $genres[0] eq 'Science Fiction' was FALSE, $genres[0] eq 'Science Fiction' || 'Sci-Fi' would always be TRUE, and (with the short-circuiting nature of '||') || 'Fantasy' will never be tested.

The same will be true for those other conditions. You might want to consider something like this (untested):

my $genre = $genres[0]; for ($genres[0]) { /^(?:Science Fiction|Sci-Fi|Fantasy)$/ && $genre = 'Sci-Fi & Fanta +sy'; /^(?:Action|Adventure|War)$/ && $genre = 'Action & Adventure'; /^(?:Kids|Family)$/ && $genre = 'Kids & Family'; }

-- Ken

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1058722]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (8)
As of 2018-06-22 22:02 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (124 votes). Check out past polls.