# warning windows doublequotes! # Data::Dump is a bit better.. perl -MData::Dump -e "@ar1='A'..'E';@ar2=1..5;@ar3='a'..'e';$hash{shift @ar1}={shift @ar2=>shift @ar3} while @ar1; dd %hash" ( "A", { 1 => "a" }, "D", { 4 => "d" }, "C", { 3 => "c" }, "E", { 5 => "e" }, "B", { 2 => "b" }, ) #### perl -MData::Dumper -e "@ar1='A'..'E';@ar2=1..5;@ar3='a'..'e';@hash{@ar1}=map{{$_=>shift @ar3}}@ar2;print Dumper \%hash" $VAR1 = { 'A' => { '1' => 'a' }, 'D' => { '4' => 'd' }, 'C' => { '3' => 'c' }, 'E' => { '5' => 'e' }, 'B' => { '2' => 'b' } };