On Nov 6, 9:36 am, [EMAIL PROTECTED] (Lawrence Statton) wrote: > > I have a function in a lib that we use that has two referenced > > hashes. > > No, you have a method in a class that has two referenced hashes. > Computers are frustratingly pedantic, and mastering the art requires > the same level of attention do detail at the human leve.
Classes *are* libraries. Methods *are* functions. A class is simply a module that contains one or more subroutines which function as methods. A method is simply a function that expects either a class name or blessed reference as its first argument. What he said was correct. What you said was simply more specific. > > my $zone = $self->{'zone'}; > > my $params = $self->{'report-params'}; > > my %zone_list = (); > > > $count = $zone->generate_zone_list(\%zone_list,\%params); > > You should have gotten a warning here remarkably similar to: > Global symbol "%params" requires explicit package name at /tmp/test.pl line > 9. 1) that's a compilation error, not a warning. What was it you said about a pedantic level of detail? 2) That error will only be displayed if the OP is using strictures. Nothing in his post indicates that he is. > One can glean since $params->scheduleId() provides the response that > you want, that $params is an object, and you don't need to pass it by > reference. This is nonsensical. ALL subroutines in perl are passed by reference. I think you meant "You do not need to pass a reference to it", which is remarkably different. There's that less than pedantic attention to detail again... Paul Lalli -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/