任何人都可以告诉我为什么下面的代码显示错误.我正在研究perl.我从5分钟开始就开始研究perl.这是我在perl中的第一个程序.但是它的语法错误是意外的';' 我编写的代码正是书中给出的内容.但问题是什么?错误在哪里?
###!/cygdrive/c/dynasty/gcc/bin
$in = <<STDIN>> ;
print ($in) ;
Run Code Online (Sandbox Code Playgroud)
你能为我推荐perl脚本的pdf,谢谢你.
它应该是:
$in = <STDIN>;
print ($in);
Run Code Online (Sandbox Code Playgroud)
此外,Modern Perl是一个很好的教程.
你应该<STDIN>而不是<<STDIN>>.后者被解析为heredoc(<<STDIN)作为右移操作(>>)的左操作数,但右移没有正确的操作数,因此unexpected ;错误.
更新:除了perl首先抱怨没有找到表明heredoc结束的STDIN.看来shell正在执行代码而不是perl,而且>>是重定向,而不是右移.否则,以上仍然适用.