Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re^2: testing an if statement in a string

by LanX (Cardinal)
on Oct 31, 2013 at 15:43 UTC ( #1060603=note: print w/replies, xml ) Need Help??


in reply to Re: testing an if statement in a string
in thread testing an if statement in a string

> eval "\$ret = $cond";

a bit over complicated , eval returns (like sub or do) the result of the last expression.

DB<105> $cond = q($field[6] eq 'PM' && $field[8] eq 'CAVENDI'); => "\$field[6] eq 'PM' && \$field[8] eq 'CAVENDI'" DB<106> @field = () DB<107> $ret =eval $cond => "" DB<108> @field = (0,0,0,0,0,0,'PM',0,'CAVENDI') => (0, 0, 0, 0, 0, 0, "PM", 0, "CAVENDI") DB<109> $ret =eval $cond => 1

but checking $@ is always a good idea! =)

update

or an additional eval BLOCK to catch all error

~$ perl $cond="bla eqx 2"; eval { $ret =eval $cond } or warn "Problem with $cond"; __END__ Problem with bla eqx 2 at - line 2.

Cheers Rolf

( addicted to the Perl Programming Language)

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (2)
As of 2020-07-15 00:14 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?