No, de esa manera estás inicializando un array con una lista que tiene un único valor que es un hash anónimo:
Using bash Syntax Highlighting
explorer
@next3:~
> perl -MData::Dumper
-wle '@hash = {}; print Dumper(\@hash)'
$VAR1 =
[
{}
];
Coloreado en 0.002 segundos, usando
GeSHi 1.0.8.4
Para inicializar un hash, vale recordar que es en realidad una lista de parejas 'clave' y 'valor'. Por lo tanto, se inicializa de la misma forma que un array:
Using perl Syntax Highlighting
%hash = ();Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Más información en
el enlace que te pasé el otro día:
- Código: Seleccionar todo
A hash can be initialized using a literal list holding pairs of items to be interpreted as a key and a value:
# same as map assignment above
%map = ('red',0x00f,'blue',0x0f0,'green',0xf00);