in reply to Trying to access array within hash

You may have good reason for making copies of arrays in your broader application, but in the example the copies are not necessary. You might consider:

$policies{$ruleNum} = [ $ruleName, $srcZone, \@srcList, $dstZone, \@ds +tList, \@svcList, $ruleAction ];
sub get_address_policies { my $targetAddr = shift; my $targetType = shift; my $targetRole = shift; foreach my $policy (keys %policies) { my $polMembers = $policies{$policy}[ (lc($targetRole) eq "source") ? 2 : 4 ]; foreach my $polMember ( @{$polMembers} ) { print "$polMember\n"; } } }