Esta sintaxis funciona:Perl: Asignación de una matriz a un hash
$b{"x"} = [1,2,3];
pp %b;
# Displays ("x", [1, 2, 3])
Pero tengo que ser capaz de crear de forma dinámica el contenido de la matriz y asignarle más tarde. Esto no funciona; ayuda, ¿cuál es la parte obvia que me falta?
@a = [1,2,3];
$b{"x"} = @a;
pp %b;
# Shows up as ("x", 1) ... not what I want or expected.
Probé estas variaciones, también.
$b{"x"} = [@a]; # ("x", [[1, 2, 3]]) ...close
$b{"x"} = \@a; # ("x", [[1, 2, 3]])
$b{"x"} = [\@a]; # ("x", [[[1, 2, 3]]])
$b{"x"} = %a; # ("x", 0)
$b{"x"} = $a; # ("x", undef)
$b{"x"} = [$a]; # ("x", [undef])
$b{"x"} = @{@a}; # ("x", 0)
Y, a ser posible, me gustaría ser capaz de obtener la matriz de vuelta más tarde como una matriz.
Mi "impresión bonita "la función provino de CPAN - use Data :: Dump qq/pp /; –