my ($idx_color, $idx_fruit) = (0,1); #### my $hoh = { keyone => { color => 'green', fruit => 'apple' }, keytwo => { color => 'purple', fruit => 'plum' } }; #### my ( $color, $fruit ) = @{ $hoh->{ keytwo } }{ qw( color fruit ) }; #### my $aoh = [ { color => 'green', fruit => 'apple' }, { color => 'purple', fruit => 'plum' }, ]; my ( $color, $fruit ) = @{ $aoh->[ 1 ] }{ qw( color fruit ) }; #### my @fields = qw( color fruit ); my $aoh; @{ $aoh->[ @$aoh ] }{ @fields } = @$_ for ( [ qw( green apple ) ], [ qw( purple plum ) ] );