That snippet (with "map" changed to "grep") will match substrings, giving you false positives (unless that's what you want). Try
if (grep {$_ eq $thing} @array) { do stuff; }
if you're probing once. If you're going to probe multiple times, turn @array into a hash, and do
if ($hashed_array{$thing}) { do stuff; }