Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Re: grepping arrays

by Aristotle (Chancellor)
on Jun 22, 2003 at 00:15 UTC ( #267890=note: print w/replies, xml ) Need Help??

in reply to grepping arrays

What you're missing is that the first parameter to grep is supposed to be an expression or a block of code, whose return value determines success or failure of each match. In your case, that return value is found by evaluating $username, which is most likely a true value. So then the grep gives you every single element from @ignore because the expression was true for every one of them. What you really meant to do is either a straight comparison:
grep $username eq $_, @ignore
or a pattern match:
grep /$username/, @ignore
Note that the second is still an expression, and gets evaluated with each element in @ignore aliased to $_ in turn. You can just write it in this short form because by default, matches are attempted against $_ unless otherwise specified. So the second form is exactly equivalent to this:
grep $_ =~ /$username/, @ignore

Makeshifts last the longest.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (4)
As of 2023-09-26 05:31 GMT
Find Nodes?
    Voting Booth?

    No recent polls found