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

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.


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.