$obj->Method()->{key}->@[3,7]; $obj->Method()->{lock}->@{"open","close"}; #### @{$obj->Method()->{key}}[3,7]; %{$obj->Method()->{lock}}{"open","close"}; #### ${${$obj->Method()}{key}}[0]; #### $obj->Method()->{key}->[0]; $obj->Method(){key}[0]; #### $obj->Method()->{key}->[1]; # One element. $obj->Method()->{key}->@[1,2]; # Two elements. #### $data->@{qw(this that other)}->>@[3,7]->>Method(); #### my @ret; for( %{$data}{qw(this that other)} ) { for( @{$_}[3,7] ) { push @ret, $_->Method(); } } return @ret; #### SavePartnSizes( $info->{Disks}->@->>{Partition} ->>@->>@{"Label","SizeMB"} ); #vs. my( @partns, %partnSize ); for my $disk ( @{$info->{Disks}} ) { for my $partn ( @{$disk->{Partition}} ) { push @partns, $partn->{Label}; $partnSize{$partn->{Label}}= $partn->{SizeMB}; } } SavePartnSizes( @partns, @partnSize{@partns} );