baxy77bax has asked for the wisdom of the Perl Monks concerning the following question:
well this is probably the obvious one but i'm stuck and i don't now how to get out from it. i have a subroutine (obj. method) in a class that creates two hashes which i want to pass into my main script(program).
also if i pass the hashes directly it uses 3x the memory , but in this way only 80MB RAM. so my question is why does this happen?package Tool; use strict; sub new { # construct... } sub _init{ # initialise... } sub create { my $self = @_; bla bla... create %hash1 , %hash2 ... my @vi = qw(\%hash1 \%hash2); return @vi; } ############## main program ################# use strict; use lib "./temp" use Tool; ... my $tree = Tool->new(); my @array = $tree->create(); #i did the separation of variables on purpose ... my $first = $array[0]; my $second = $array[1]; my %hashfirst = %$first; my %hashsecond = %$second; ######## and now it dumps %hashfirst on <b>" print Dumper(%hashfirst)"</b>; but it doesn't want to dump the second one (%hashsecond)...
robert
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: passing the reference from a class.
by Corion (Patriarch) on Jul 20, 2008 at 20:00 UTC | |
by baxy77bax (Deacon) on Jul 20, 2008 at 20:04 UTC | |
by Corion (Patriarch) on Jul 20, 2008 at 20:08 UTC |