in reply to obvious matching patterns don't match
/(.*):(.*)/; my $regexp = $1; my $sev = $2; next unless $description =~ /$regexp/i; $severity = $sev; ... [download]
After the second match, $2 isn't what you think it is.