Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re: grepping arrays

by Aristotle (Chancellor)
on Jun 22, 2003 at 00:15 UTC ( [id://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?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others browsing the Monastery: (2)
As of 2024-04-24 13:27 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found