in reply to grepping arrays

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