You could try changing that line to:
$f{$k} = $a->{$k} if( $a->{$k} && $check && $a->{$k} =~ m{$check});
and see if that help?
You could try changing that line to:
$f{$k} = $a->{$k} if( $a->{$k} && $check && $a->{$k} =~ m{$check});
and see if that help?