in reply to Hashes of Hashes with Multidimensional array

You didn't specify what output structure you expect. One key in each inner hash? You can use map for that, there's no direct syntactic way to create such a structure (maybe because it's not so common?)

#!/usr/bin/perl use warnings; use strict; use Data::Dumper; my @array1 = 'A' .. 'E'; my @array2 = 1 .. 5; my @array3 = 'a' .. 'e'; my (%hash, %tmp); @tmp{@array2} = @array3; @hash{@array1} = map +{ $_ => $tmp{$_} }, @array2; print Dumper \%hash;

Output:

$VAR1 = { 'A' => { '1' => 'a' }, 'D' => { '4' => 'd' }, 'E' => { '5' => 'e' }, 'C' => { '3' => 'c' }, 'B' => { '2' => 'b' } };

You can also use a for loop:

my %hash2; for my $i (0 .. $#array1) { $hash2{ $array1[$i] }{ $array2[$i] } = $array3[$i]; }
($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,

Replies are listed 'Best First'.
Re^2: Hashes of Hashes with Multidimensional array
by Eshan_k (Acolyte) on Dec 15, 2016 at 20:09 UTC
    Thank you so much Choroba for help.
      Thank you so much Eshan_k for reply to Choroba.