$pat = join '|', sort { length($b) <=> length($a) } keys %prefix; if ($number =~ /^($pat)/) { print "Prefix: $1\n"; }