iam使用perl打印某些數據,但它給了我錯誤Can not找到字符串結束 「EOF」 EOF之前的任何地方以在perl中獲取錯誤在/var/www/sandeep/testeof.cgi第2行EOF處找不到字符串終結符「EOF」任何位置第2行
的代碼是:
#!/usr/local/bin/perl -w
print <<EOF;
hello
EOF
錯誤:
[Mon May 23 11:32:12 2016] [error] [client 192.168.10.117] Directory index forbidden by Options directive: /var/www/, referer: http://192.168.10.100/ [Mon May 23 11:32:12 2016] [error] [client 192.168.10.117] malformed header from script. Bad header=hello: testeof.cgi [Mon May 23 11:32:18 2016] [error] [client 192.168.10.117] Directory index forbidden by Options directive: /var/www/, referer: http://192.168.10.100/ [Mon May 23 11:32:18 2016] [error] [client 192.168.10.117] Can't find string terminator "EOF" anywhere before EOF at /var/www/sandeep/testeof.cgi line 2. [Mon May 23 11:32:18 2016] [error] [client 192.168.10.117] Premature end of script headers: testeof.cgi
我試圖把EOF在單引號(打印< <「EOF」),如圖this answer,但誤差相同。用這種方法打印在同一目錄下的其他文件中工作。
我也稱爲this question (Why am I getting 「Can't find string terminator 」'「 anywhere before EOF at -e line 1」 when I try to run a Perl one-liner on Windows?)但是在這個問題OP是使用不同的方法來打印和IAM使用Linux(UBUNTU)。
請指導,我做錯了什麼?
我在運行代碼時沒有看到該錯誤。請提供一個實際產生錯誤的最小示例。 – Henrik
嘗試在EOF之後添加結束行。 –