在编译和安装GNU automake 1.15之后,每当我运行automake的时候,都会收到这个错误:
正则expression式中未转义的左大括号已被废弃,通过正则expression式传递;
在</ HERE([^ \ t =:+ {}] +)/
在/ usr / local / bin / automake第3936行
我有perl v5.22.0
弃用警告本身并不是一个问题。
Perl 5.21.1发行说明指出:
如果你需要一个正则expression式模式中的文字左花括号(也称左花括号),你现在应该用一个反斜杠(“\ {”)或者将它括在方括号“[{]” ,或者使用\ Q; 否则会提出弃用警告。 这是第一次宣布,即将在v5.16发布; 它将允许将来的语言扩展发生。
你可以把这个bug报告给Automake的作者,虽然他们可能想保持与老版本Perl的兼容性。
我得到这个错误只是因为我错误地使用“打印”而不是在bash回声:
print "abcd123" | perl -e 'myscript' #causes error
解决scheme是使用回声,我只是通过混合语言混淆打印/回声
echo "abcd123" | perl -e 'myscript' #is fine printf "abcd123" | perl -e 'myscript' #is fine too, "printf" not print