in reply to sub by reference - assigning to an object?

Without knowing what $self->{parser}{$parser_name} is, it's hard to say, but maybe $self->{ 'parser' }->{ $parser_name }->getDBH(\&getDBH); would work?

Also, your parsers could just call the original getDBH sub fully qualified, like $dbh = main::getDBH(...).