On 21 Jun 2004, you wrote in perl.beginners: > Have a question regarding hashes. Lets say I wanted a list as one of > the values in my hash for the reason that I would want to constantly > push values into that list. .. > $dataHash{"$fileName"}{count} = 1; > $dataHash{"$fileName"}{increment} = push(@array,$fileNumber); > ###PROBLEM HERE! > $dataHash{"$fileName"}{extension} = $fileExtension; > > How would I push some data into the $dataHash{"$fileName"}{increment} > ??? Do I have specify that$dataHash{"$fileName"}{increment} will equal > a list previous to this??? > > Thanks in advance for reading this response. > > -T > > _________________________________________________________________ > FREE pop-up blocking with the new MSN Toolbar – get it now! > http://toolbar.msn.click-url.com/go/onm00200415ave/direct/01/ >
Just treat that part of your hash as a list: push(@{$dataHash{$fileName}{increment}}, $fileNumber); Here's a small example: use strict; use Data::Dumper; my %dataHash; my $fileName = 'afile.txt'; my @fileNumbers = qw(1 2 3); foreach my $fileNumber (@fileNumbers) { push(@{$dataHash{$fileName}{increment}}, $fileNumber); } print Dumper(\%dataHash); __END__ Data::Dumper is nice to use when you want to see what's in a complex data structure. Output is something like this: $VAR1 = { 'afile.txt' => { 'increment' => [ '1', '2', '3' ] } }; Notice the [ ... ] value for 'incremet' shows you that it is a list. -Scott -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>