试来试去,老是写不对,请各位帮看一下

试来试去,老是写不对,请各位帮看一下

试来试去,老是写不对,请各位帮看一下
1 #!/usr/bin/perl

print "Content-type: text/html\n\n";
print <<DEND;
<html>
<h1>Hello!</h1>
</html>
DEND

---------------
输出大段的内容,我按书里的,这样写,为什么老是不正确呢?
不显示,还报错呢
我试了,没什么问题啊,这个.
是有问题
一般都是这样写的
#!/usr/bin/perl -w

print "Content-type: text/html\n\n";
print "<html>";
print "<h1>Hello!</h1>";
print "</html>";

简单一点就是
#!/usr/bin/perl -w

print "Content-type: text/html\n\n";
print header;
print "<h1>Hello!</h1>"




   

注意,末尾的DEND之后还要.
注意,末尾的DEND之后还要有个换行符,是不是忘了
你这种情况我是怀疑DEND到.
你这种情况我是怀疑DEND到了文件末尾,如果here-doc的terminating identifier正好处在文件的最后一行,那么需要加上一个换行符,就像楼上说的,否则就会出错。所以为了防止此类问题的发生,一般每次用here-doc时都习惯在最后加一空行。
还有我建议你如果不需要interpolation,那么最好quotes the terminating identifier,如<<'DEND';
因为如果不用quotes,那么<<紧接着的任何字符串直到;结束都会被看成结束标志,如果不小心加了空格什么的,就很难发现问题。
此外如果不用quote是等价与qq的,即<<DEND;等价于<<"DEND";
谢谢 jasonlee 和 braveso.
谢谢 jasonlee 和 bravesoul
我的问题才得以解决
[CCB]1[/CCB]