#!C:/Perl/bin/perl.exe use strict; use warnings; use Data::Dumper; my %Services = ( 1 => { serviceid => "1", name => "servicea", host => [ qw(hosta hostb)], }, 2 => { serviceid => "2", name => "serviceb", host => [ qw(hostc) ], }, ); print Dumper \%Services; my $service = 1; my @hosts = @{$Services{$service}{host}}; print "@hosts"; #### $VAR1 = { '1' => { 'name' => 'servicea', 'serviceid' => '1', 'host' => [ 'hosta', 'hostb' ] }, '2' => { 'name' => 'serviceb', 'serviceid' => '2', 'host' => [ 'hostc' ] } }; hosta hostb