$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} );