Hi everybody, Perhaps there are still some listeners on this list.
Experiencing some hitches with a hash structure. In order to match data from two sources, I want to build a structure like this: $H{$ip}[0]{$nam} and $H{$ip}[1]{$dom} where $ip, $nam and $dom are keys from input data records There may be several names and domains for one ip, as this snippet shows: my %H = (); my $ip = '64.207.97.183'; # data are fictitious my $nam1 = 'server7.web-mania.com'; my $nam2 = 'asuc.berkeley.net'; my $nam3 = 'www.berkeley.net'; my $dom1 = 'web-mania.com'; my $dom2 = 'berkeley.net'; $H{$ip}[0] = {$nam1,'',$nam2,'',$nam3,''}; $H{$ip}[1] = {$dom1,'',$dom2,''}; print "name $nam2 exists" if exists $H{$ip}[0]{$nam2}; print "domain $dom1 exists" if exists $H{$ip}[1]{$dom1}; print "name $dom1 exists" if exists $H{$ip}[0]{$dom1}; print "domain $nam2 exists" if exists $H{$ip}[1]{$nam2}; @_ = keys %{$H{$ip}[1]}; $" = ', '; print "domains: @_"; __END__ output: name asuc.berkeley.net exists domain web-mania.com exists domains: berkeley.net, web-mania.com So far nothing special. The hitch is that data pertaining to the same ip may be input later in the process, bringing possible additional names and domains. There must be a simple way to "grow" the innermost hashes, save from trashing the elements and putting them back in. But I have not found it in my docs. Any good idea out there ? Thanks.