A titre d'information, et pour éviter tout effet de bord liés à la variable automatique $1 (qui pourrait arriver en introduisant des instructions entre l'exécution de la regexp, et l'exploitation de $1), il est possible d'affecter directement le résultat des parenthèses capturantes d'une expression régulière dans une liste de variables :
my ($val) = $s =~/^a{3}=(\d+)/;
(les parenthèses autour de $val ont une importance capitale : elles fournissent à l'opérateur =, et donc à l'opérateur =~, un contexte de liste qui permet que soient retournés les valeurs capturée, au lieu du nombre de valeurs capturées).
Partager