in reply to RegEx problems

Can anyone tell me what I'm doing wrong?

You aren't capturing or using list context. You are assigning a boolean to $map which answers "does this match?" Try:

my ($map) = $traps{$trap}{oid} =~ /(\d+)$/;
-sauoq
"My two cents aren't worth a dime.";