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
In reply to Wanted further clarification on Data Usage by Buckaroo Buddha
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |