After compiling and installing GNU automake 1.15, I get this error whenever I run automake:

Unescaped left brace in regex is deprecated, passed through in regex;

marked by <-- HERE in m/\${ <-- HERE ([^ \t=:+{}]+)}/

at /usr/local/bin/automake line 3936

I have perl v5.22.0


A deprecation warning isn't in-and-of-itself a problem.

The Perl 5.21.1 release notes indicate:

If you want a literal left curly bracket (also called a left brace) in a regular expression pattern, you should now escape it by either preceding it with a backslash ("\{") or enclosing it within square brackets "[{]", or by using \Q; otherwise a deprecation warning will be raised. This was first announced as forthcoming in the v5.16 release; it will allow future extensions to the language to happen.

You could report this bug to the Automake authors, although they may want to retain compatibility with older versions of Perl.

| improve this answer | |

I got this error just because I was using by mistake 'print' instead of echo in bash:

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

Solution was use echo, I just confused print/echo by mixing languages

echo "abcd123" | perl -e 'myscript'  #is fine
printf "abcd123" | perl -e 'myscript'  #is fine too, "printf" not print
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.