web-dev-qa-db-fra.com

Erreur regex accolade gauche non échappée

Je ne suis pas un expert en regex et ne peux pas comprendre ce que je suis censé changer ici.

Je reçois ces deux erreurs

Les accolades gauches non échappées dans regex sont déconseillées, elles sont passées dans regex; marqué par <-- HERE dans m/^(.*?)(\\)?\${ <-- HERE ([^{}]+)}(.*)$/ à /usr/share/Perl5/Debconf/Question.pm ligne 72.

Les accolades gauches non échappées dans regex sont déconseillées, elles sont passées dans regex; marqué par <-- HERE dans m/\${ <-- HERE ([^}]+)}/ à /usr/share/Perl5/Debconf/Config.pm ligne 30.

Quand je saute à la ligne 72 c'est ce que je vois

while ($rest =~ m/^(.*?)(\\)?\${([^{}]+)}(.*)$/sg) {

C'est une obsolète warning indiquant que le code cessera de fonctionner à l'avenir .

Si vous voulez faire correspondre un { à la lettre, vous devriez y échapper. 

En d'autres termes, vous pouvez résoudre le problème (en désactivant l'avertissement) en remplaçant le premier { par \{.

9
ikegami