błąd automake: Nieokreślony lewy nawias klamrowy w wyrażeniu regularnym jest przestarzały

5

Po skompilowaniu i zainstalowaniu GNU automake 1.15 pojawia się ten błąd przy każdym uruchomieniu automake:

Nieokreślony lewy nawias klamrowy w wyrażeniu regularnym jest przestarzały, przekazany w wyrażeniu regularnym;

oznaczone <- TUTAJ wm / \ $ {<- TUTAJ ([^ \ t =: + {}] +)} /

w / usr / local / bin / automake line 3936

Mam perl v5.22.0

ISlimani
źródło

Odpowiedzi:

5

Ostrzeżenie o rezygnacji nie jest samo w sobie problemem.

Informacje o wersji Perl 5.21.1 wskazują:

Jeśli chcesz literalnego lewego nawiasu klamrowego (zwanego również lewym nawiasiem klamrowym) we wzorze wyrażeń regularnych, powinieneś teraz uciec od niego, poprzedzając go ukośnikiem odwrotnym („\ {”) lub umieszczając go w nawiasach kwadratowych „[{]” lub za pomocą \ Q; w przeciwnym razie zostanie podniesione ostrzeżenie o wycofaniu. Zostało to po raz pierwszy ogłoszone jako nadchodzące w wersji v5.16; pozwoli to na przyszłe rozszerzenia języka.

Możesz zgłosić ten błąd autorom Automake, chociaż mogą chcieć zachować zgodność ze starszymi wersjami Perla.

lfaraone
źródło
0

Otrzymałem ten błąd tylko dlatego, że przez pomyłkę użyłem „print” zamiast echa w bash:

print "abcd123" | perl -e 'myscript'  #causes error

Rozwiązaniem było użycie echa, po prostu pomyliłem druk / echo przez mieszanie języków

echo "abcd123" | perl -e 'myscript'  #is fine
printf "abcd123" | perl -e 'myscript'  #is fine too, "printf" not print
Sergio Abreu
źródło