Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

Re: (Mis)Understanding <c>grep...eq $_<c>

by ysth (Canon)
on Feb 24, 2009 at 06:36 UTC ( #745911=note: print w/replies, xml ) Need Help??

in reply to (Mis)Understanding grep...eq $_

grep EXPR, LIST executes EXPR for each item in LIST (with $_ set to that item), and returns a list of those items from LIST for which the EXPR is true. Or in scalar context, as provided by your unless(), it returns a count of the items for which EXPR was true. So your grep $person_has eq $_, $item returns 1 when $person_has eq $item and 0 otherwise, and the whole unless () is equivalent to if ($person_has ne $item). So you may shoot whoever wrote the code.

Your "search through the string", "includes an exact match", make it sound like you are expecting some kind of string matching operator, while grep is really a list filter (though the arbitrary filtering expression may sometimes be a match operation). Try rereading grep with that in mind.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (1)
As of 2022-01-28 06:58 GMT
Find Nodes?
    Voting Booth?
    In 2022, my preferred method to securely store passwords is:

    Results (73 votes). Check out past polls.