Contexte

Contexte forcé

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

et Liste en contexte SCALAIRE

scalar @array     = nombre d'éléments
scalar (a,2,3)    = nombre d'éléments

Hachage en contexte SCALAIRE

scalar %hash = 0 si le hachage est vide
scalar %hash = seaux_utilisés / total de seaux

Hachage en contexte TABLEAU ou LISTE

@array =        $hash  (clé0, valeur0, clé1, valeur1, ....)
@array = keys   $hash  (clé0, clé1, ....)
@array = values $hash  (valeur0, valeur1, ....)