Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

(zdog) Re: Confused by a Conditional

by zdog (Priest)
on Jun 09, 2001 at 21:58 UTC ( #87211=note: print w/ replies, xml ) Need Help??


in reply to Confused by a Conditional

Here's another way of doing it in addition to the ones already mentioned:

if (' ID TITLE GENE CYTOBAND LOCUSLINK CHROMOSOME SCOUNT ' =~ m/ $key +/) { print "stuff.\n"; }

NOTE: The spaces in this solution are key in making sure the right word is being matched.

Zenon Zabinski | zdog | zdog7@hotmail.com


Comment on (zdog) Re: Confused by a Conditional
Download Code
Re: (zdog) Re: Confused by a Conditional
by ZZamboni (Curate) on Jun 09, 2001 at 22:06 UTC
    Note that if $key is a user-provided value, doing this is not a good idea. At the very least you would want to enclose the whole thing in an eval in case $key contains some characters that upset the match operator (for example, if $key contains **, the program will die with "nested *?+ in regexp"). In the worst case, $key could contain something that makes Perl execute arbitrary code. So for doing something like this, you have to make sure that $key is properly untainted.

    Update: You could also use \Q, as in "string" =~ m/ \Q$key /

    --ZZamboni

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (9)
As of 2014-07-11 04:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (218 votes), past polls