Perl在这里 - 文档无法正常工作

Lit*_*rat 7 perl heredoc

我一直在尝试使用Here-documents但它不起作用.可能有什么问题?我错过了一些明显的东西吗

这是我正在尝试运行的文件的全部内容(在任何地方都没有空格或标签):

print<<EOF;
text
EOF
Run Code Online (Sandbox Code Playgroud)

我通过将它保存在记事本或记事本++中作为一个名为3.pl的文件来运行它
然后进入Windows 7下的DOS窗口并键入:perl 3.pl 我收到此消息:

在3.pl第1行的EOF之前的任何地方都找不到字符串终止符"EOF".

Kon*_*rak 23

确保您的文件末尾有一个空行.这应该是四行:

print<<EOF;
text
EOF 
#or a comment here works too ;)
Run Code Online (Sandbox Code Playgroud)

  • [实际上,它确实](http://perldoc.perl.org/perlop.html):`如果终止标识符在程序的最后一行,你必须确定它后面有换行符; 否则,Perl将发出警告在EOF之前的任何地方都找不到字符串终结符"END" (10认同)
  • 这是一个有效的建议.我邮寄了邮件列表,要求将其添加到perlfaq. (2认同)
  • 这个地方只是众多地方中的一个 - perlmonks网站肯定也会帮助你.他们的聊天室里充满了聪明人,如果没有人,你仍然可以在新节点中发布你的问题. (2认同)