• [^] # Re: i en trop en fin d'expression rationnelle ?

    Posté par . En réponse au message Perl - faire ressortir les définitions d'une liste de mots. Évalué à 3.

    Le i pour dire insensible à la casse devrait être après l’expression rationnelle, donc après le slash : \s"/i

    Cela dit, sans un exemple de ligne à attraper, il est impossible de voir si l’expression rationnelle est bonne.

    Plus généralement, quand une expression rationnelle n’attrape rien, une solution est de la simplifier, quitte à ce qu’elle attrape trop de trucs, et de la recomplexifier progressivement.

    Par exemple, si replacer i ne suffit pas à ce que ça marche, tu commences par /$mot/i (ça attrapera aussi les lignes ou le mot est dans une définition) et tu ajoutes les autres éléments, un à un.

    Mais si tes lignes commencent par le mot, cette expression suffirait peut-être : /^$mot,/

    À part ça, je ne vois pas à quoi te sert l’antislash devant tes opérateurs diamants : while (my $ligne = \<LST>)
    Je n’ai jamais vu cette syntaxe, et à l’essai, elle semble plutôt empêcher le fonctionnement. Si elle sert à quelque chose, je serais curieux de savoir à quoi.

    « Le fascisme c’est la gangrène, à Washington comme en Russie. » — adapté de Renaud, Hexagone