in reply to Do I need to do escaping in my regex check?
if (! grep $_ eq $value, @$enum_values) { [download]
If you want to match regexes, you need to store regexes, not strings. Use quotemeta to escape the strings.