http://qs321.pair.com?node_id=1140909


in reply to Re^4: calling sub with object as param
in thread calling sub with object as param

should be this:
sub querryDatabase() { my($self, $inputData) = @_; ...

And to make that really good, get rid of the useless and misleading empty prototype:

sub querryDatabase { my($self, $inputData) = @_; ...

To explain that: Method calls bypass prototype checks, so the prototype is useless. And the method expects one parameter (in addition to the implicit object parameter), so using the empty prototype suggesting that the method takes no parameters is misleading and may confuse you (or someone else) later.

General rule of thumb for prototypes in Perl: Don't use them unless you really know what you are doing.

See also: Far More than Everything You've Ever Wanted to Know about Prototypes in Perl -- by Tom Christiansen

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)