in reply to The correct way to return arrays from a module
There are problems with your calling method. While testing/debugging, I suggest you make 2 calls:
my $ro_itiv_hw = new Itiv::Hw; # do any testing on $ro_itiv_hw my ($ra_cols, $ra_hw) = $ro_itiv_hw->all_hw($dbh, $filter); # now test return values
Note that the instantiation could also have been written:
my $ro_itiv_hw = Itiv::Hw->new;
Also note that the all_hw() method returns two arrayrefs NOT two arrays.
When you're finished testing, you can chain the two commands again BUT you should use this syntax:
my ($ra_cols, $ra_hw) = Itiv::Hw->new->all_hw($dbh, $filter);
Also note how I prefix the references with 'ro_' for reference to object and 'ra_' for reference to array. Not shown here but I also use rs, rh, rc, rg for references to scalars, hashes, code and globs respectively. You will save yourself a lot of time debugging if you differentiate between references and ordinary scalar variables (e.g. strings, numbers). This scheme is what I use: use it, use someone else's or make up your own. I strongly recommend you use some method along these lines.
Regards,
PN5
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: The correct way to return arrays from a module
by qq (Hermit) on Aug 07, 2004 at 22:18 UTC | |
by Prior Nacre V (Hermit) on Aug 08, 2004 at 09:39 UTC |