in reply to Multi-Level Hashes
Am i missing something?use strict and warnings
This is probably closer to what you want:
use warnings; use strict; use Data::Dumper; my $sitedb = { 'User1' => { '7' => { 'HOST' => 'foobar.baz.com', 'REMOTE_DIRECTORY' => '/tmp/user1_test', 'JOB_ID' => '7', 'LOCAL_DIRECTORY' => 'to-user', 'MAIL' => 'baz@foobar.com', 'SITE' => 'user1', 'PORT' => '21' }, '2' => { 'HOST' => 'foobar.baz.com', 'REMOTE_DIRECTORY' => '/tmp/user1_test', 'JOB_ID' => '7', 'LOCAL_DIRECTORY' => 'to-user', 'MAIL' => 'baz1@foobar.com', 'SITE' => 'user1', 'PORT' => '21' } }, 'User2' => { '6' => { 'HOST' => 'foobar.baz.com', 'REMOTE_DIRECTORY' => '/tmp/user2_test', 'JOB_ID' => '7', 'LOCAL_DIRECTORY' => 'to-user', 'MAIL' => 'baz2@foobar.com', 'SITE' => 'user1', 'PORT' => '21' } } }; foreach my $site_name ( keys %{ $sitedb } ) { print "Checking $site_name ... \n"; foreach my $subkey ( keys %{ $sitedb->{$site_name} } ) { my @jobid = $sitedb->{$site_name}{$subkey}; print Dumper(@jobid); print "Job ID: @jobid\n"; } } __END__ Checking User1 ... $VAR1 = { 'HOST' => 'foobar.baz.com', 'JOB_ID' => '7', 'LOCAL_DIRECTORY' => 'to-user', 'MAIL' => 'baz@foobar.com', 'PORT' => '21', 'REMOTE_DIRECTORY' => '/tmp/user1_test', 'SITE' => 'user1' }; Job ID: HASH(0x60b220) $VAR1 = { 'HOST' => 'foobar.baz.com', 'JOB_ID' => '7', 'LOCAL_DIRECTORY' => 'to-user', 'MAIL' => 'baz1@foobar.com', 'PORT' => '21', 'REMOTE_DIRECTORY' => '/tmp/user1_test', 'SITE' => 'user1' }; Job ID: HASH(0x661ff0) Checking User2 ... $VAR1 = { 'HOST' => 'foobar.baz.com', 'JOB_ID' => '7', 'LOCAL_DIRECTORY' => 'to-user', 'MAIL' => 'baz2@foobar.com', 'PORT' => '21', 'REMOTE_DIRECTORY' => '/tmp/user2_test', 'SITE' => 'user1' }; Job ID: HASH(0x624400)
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Multi-Level Hashes
by AnomalousMonk (Archbishop) on Sep 20, 2011 at 13:13 UTC | |
|
Re^2: Multi-Level Hashes
by sunnyfedora99 (Novice) on Sep 20, 2011 at 12:45 UTC |