Con
@table{$word} estás indicando que vas a guardar en
%table tantos elementos como claves indiques a continuación. Como solo indicas una (
$word), pues solo guarda un elemento de
@vec.
Si lo que quieres es guardar todos los elementos de
@vec en
%table, asociadas a la clave
$word, tienes que ponerlo así:
Using perl Syntax Highlighting
$table{$word} = [ @vec ];Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Es decir:
* queremos definir un solo valor correspondiente a la clave
$word, por lo que ponemos un '$' delante de
table* ese "valor" que almacenamos es un arreglo. Y la forma de guardar un arreglo dentro de un escalar es por medio de una referencia a un arreglo, por lo que ponemos los '[]', para indicar que estamos creando un arreglo anónimo (un arreglo no asociado a ningún nombre de variable)
* el contenido del arreglo serán los elementos de
@vec.
Más información sobre estructuras complejas en
perldsc (Perl Data Structures Cookbook) y
perllol (Manipulating Arrays of Arrays in Perl).