Your question has been answered directly by the other fine monks, but I thought it would also be useful to point out that this is a common case where a hash is used instead of an array. Hashes make checks for existence much faster than iterating through your array each time (which is what grep does).
Here's an example of how you could make your array into a hash:
my %ignore;
@ignore{ @ignore } = (); # note this is a hash slice. the first @ignor
+e
# is referring to the hash
And here's how you can check the hash for existence:
if (exists $ignore{$username} or exists $ignore{$askname}) {