Bullseye - I don't understand why everyone else got stuck on the
for loop. Some minor points though: if you're using patterns for matches, you should consider using anchors:
@array = grep { ! /^$pattern$/ } @array;
In this case it's better to just use a comparison:
@array = grep $_ ne $whatever, @array;
Makeshifts last the longest.