Szögletes zárójellel nem tömbváltozót, hanem tömbre mutató referenciát definiálsz.
Vagyis itt a változó és az érték ellentmond egymásnak:
@tomb=[
['a',...]...
];
Ezt az ellentmondást úgy oldja fel a perl, hogy megtartja a listaváltozót és azt feltételezi, hogy az annak adott érték egy lista nulladik eleme, vagyis fejben erre egészíti ki a kódot:
@tomb=([
['a',...]...
]);
Vagy úgy hangszereled át, hogy mindenhol tömbreferencia legyen, vagy a tömbváltozónak tömbértéket adsz:
@tomb=(
['a',...]...
);