#! perl -sw use strict; my %cat = ( 'C[AEIOU]NWAY' => 'AAA', '(BOSTON|CHICAGO)' => 'BBB', '(LAS VEGAS|NEVADA)' => 'CCC', '(DALLAS|AUSTIN)' => 'DDD', '(NASHVILLE|M[AEIOU]MPHIS)' => 'EEE', ); my $variable = 'CHICAGO'; for (keys %cat) { print $cat{$_}, $/ if $variable =~ /$_/; } __END__ #Output c:\test>211023 BBB c:\test>