I have an perl web application that has to parse data from a customer for 'correctness'. One of the checks I use is something like:
$criteria = "HE|NP|OT|RF|SM";
if ($customer_data =~ m/$criteria/) {
process_as_good()
} else {
proc4ess_as_bad()
}
Obviously this matches for $customer_data = HE, NP, OT, RF, or SM which is the desired behavior. Unfortunately it will also match combinations like SMNP which is not desired. I seem to recall reading about a technique for this but I cannot find it again. Is it just my faulty memory or is there a clever way to make Perl match on the entire string and not just on a substring?