Buckaroo Buddha has asked for the wisdom of the Perl Monks concerning the following question:
In my talk with davorg he mentioned that i may have had
a bug in my program... here's the setup:
I use a variable named $thisDataset as a pointer
to a Hash table. i then address %thisDataset
at a later time. Let's clear this up a bit...
my $filehandle = &magic_box(@ARGV); my $thisDataset = &doStuff($filehandle); { my (%HASH); #this wasn't here till after talking to dave :) #if you'd like to comment on the effects with #and without i'd be very interested :) sub doStuff { while(<>) { my @array = split(/,/); my $key = shift @array; $HASH{$key} = [@array]; } return(\%HASH); # this is the same as $thisDataset now } # at least, $thisDataset is the same as } # this... :) &someThingElse($thisDataset); sub someThingElse { foreach my $KEY (sort keys %{$_[0]}) { print "$KEY\n"; foreach my $VALUE (@{$_{$KEY}}) { print "$VALUE,"; } print "\n"; } # in the real world, i do more with this stuff but i } # think this illustrates the point adequately
notice how it's listed as %{$_[0]} in the second function?
that's the same as saying %thisDataset (IIUC)
now that's aparently ALSO an error or potential error and i don't understand
exactly why
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Wanted further clarification on Data Usage
by davorg (Chancellor) on Jul 11, 2000 at 19:05 UTC | |
Re: Wanted further clarification on Data Usage
by ZZamboni (Curate) on Jul 11, 2000 at 18:57 UTC |