任何人都可以告诉我为什么下面的代码显示错误。我正在研究perl。我已开始 从5分钟开始在perl上工作。这是我在perl中的第一个程序。但它的语法错误意外“;”我编写的代码正是书中给出的内容。但问题是什么?错误在哪里?
###!/cygdrive/c/dynasty/gcc/bin
$in = <<STDIN>> ;
print ($in) ;
你能否建议我为perl脚本提供优质的pdf谢谢你。
答案 0 :(得分:6)
答案 1 :(得分:5)
您应该<STDIN>
而不是<<STDIN>>
。后者被解析为heredoc(<<STDIN
)作为右移操作的左操作数(>>
),但右移没有正确的操作数,因此{{1}错误。
更新:除了perl首先抱怨没有找到指示heredoc结束的STDIN。 shell似乎正在执行代码而不是perl,unexpected ;
是重定向,而不是右移。否则,上述内容仍适用。
答案 2 :(得分:2)
从STDIN文件中读取的正确语法是:
my $in = <STDIN>;
注意 - 只有一个一组尖括号。
答案 3 :(得分:2)
#line
该行告诉机器在执行文件时如何处理文件(即它告诉它通过Perl运行文件)。
<强> STDIN 强>
应该是:my $in = <STDIN>;