That code uses the non-preferred "indirect object" notation:
in reply to Confused on function call syntax
where $self represents the classname, because it is blessed into that class.
methodname classname (params);
The identical process is better accomplished by re-writing that as:
See "Method Call Variations" and '"indirect object" notation' in "perldoc perlobj".
my $map = $self->match_maprow_by_hash ( $first );
"I'm fairly sure if they took porn off the Internet, there'd only be one website left, and it'd be called 'Bring Back the Porn!'"
-- Dr. Cox, Scrubs