how will you know how many keys are needed? On Fri, 2002-02-01 at 14:42, Balint, Jess wrote: > I think I will go ahead and use something like the multi-dimensional hash > example below. What I need to do is create hashes dynamically based on how > many are needed for this particular instance of the program. Any ideas on > dynamic hash creation multi-dimensionally? Thanks -jess > > -----Original Message----- > > On Fri, 2002-02-01 at 12:42, Balint, Jess wrote: > > Since this is a beginners list, I thought I would be allowed to ask this > > question. Can there be multiple values for hash keys, or just one? The > > reason I am asking is that I am working on a statistical program and would > > need to use multiple hashes as values of another hash. If this is > possible, > > please let me know. Thank you. > > > > -Jess > > > > I assume you mean a multi-dimensional hash. Perl allows infinite > (assuming you have the resources) nesting of data structures. This is > accomplished by using a reference to the structure to be nested. So for > a three dimension hash you would first have a hash whose values were > hash references. Then those hashes would have values that were also > references to hashes. You could then access the data like this: > > print $hash{'key1'}->{'key2'}->{'key3'}, "\n"; > > but Perl being what it is provides a little syntatic suger and lets you > just write this: > > print $hash{'key1'}{'key2'}{'key3'}, "\n"; > > > <example> > #!/usr/bin/perl -w > > use strict; > > my %hash; > > while (<>) { > my ($key1, $key2, $key3, $data) = split; > > $hash{$key1}{$key2}{$key3} = $data if $key1 and $key2 and $key3; > } > > foreach my $key1 (sort keys %hash) { > foreach my $key2 (sort keys %{$hash{$key1}}) { > foreach my $key3 (sort keys %{$hash{$key1}{$key2}}) { > print "($key1)+($key2)+($key3) returns ", > $hash{$key1}{$key2}{$key3}, "\n"; > } > } > } > </example> > > -- > Today is Boomtime the 32nd day of Chaos in the YOLD 3168 > Or is it? > > Missle Address: 33:48:3.521N 84:23:34.786W -- Today is Boomtime the 32nd day of Chaos in the YOLD 3168 Fnord.
Missle Address: 33:48:3.521N 84:23:34.786W -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]