my $ranges = [ { I => "2", }, { I => "3", J => "2", }, { I => "4", J => "3", K => "2", } ]; my $array; ## The name is a lie!! foreach my $rvarHASH ( @{ $ranges } ) { my @rvarLIST = sort keys %$rvarHASH; my @orderedIndices = @{ $rvarHASH }{ @rvarLIST }; my $array->{ join ';', @orderedIndices } = $netlist; } ## Err...That's all folks!