en ayant une valeur de gauche du bon type, cela force le type !
$a= forcer le contexte scalaire # fonctionne avec tableau, liste, hachage (+ clés + valeurs) et peut-être d'autres
@a= forcer le contexte tableau # fonctionne avec liste, hachage (+ clés + valeurs) et peut-être d'autres, mais pas avec scalaire
%a= forcer le contexte hachage # fonctionne avec tableau, liste, et peut-être d'autres, mais pas avec scalaire
()= forcer le contexte liste # fonctionne avec tableau, liste, hachage (+ clés + valeurs) et peut-être d'autres, mais pas avec scalaire
Alternativement :
pour le contexte scalaire : précédez par la fonction : scalar() ou scalar
pour le contexte liste : encadrez avec : ( )
pour le contexte tableau : encadrez avec : @{[val0, val1 ]} déréférencement d'un tableau de référence
pour le contexte hachage : encadrez avec : %{{key0, val0, key1, val1 }} déréférencement d'un hachage de référence
@array = () =
l'opérateur force également
@array = $hash (clé0, valeur0, clé1, valeur1, ....)
@array = keys $hash (clé0, clé1, ....)
@array = values $hash (valeur0, valeur1, ....)