in reply to strange args format in module sub

when your get_info method is invoked with the infix notion, your $db_info object will implicitly be passed as the first argument... no need for your %db_info hash. you'll commonly see
sub get_info { my $self = shift; my $ID = shift; # or @_ #whatever.. }
which gives you a $self handle to your db_info instance (the this reference in some other languages). why don't you check out this section in perlobj.

cheers