I think the main thing going wrong is that your first argument needs to be a block of code rather than a scalar.
grep works by running the block of code for each element in the array and returning the number of times it was true (or, if you did
@output = grep... it gives you the list of elements from your input array for which it was true... but you don't care about that).
So this
if(grep($username =~ m/\b$_\b/, @ignore)) {
print "That didn't quite work";
}
... may do what you want. (the
\bs are so you only catch whole words).
§
George Sherston