多个Perl`打印$ cgi->标题,<

时间:2010-04-05 06:17:01

标签: html perl cgi printing

我有类似的东西:

    #!/usr/bin/perl

use strict;
use warnings;
use CGI::Simple;
use DBI;

my $cgi = CGI::Simple->new;


if ($cgi->param('selid'))
{

    print $cgi->header, <<HTML;
    <br/>this is SELECT 
     HTML
}
elsif ($cgi->param('delid'))
{

    print $cgi->header, <<HTML; 
    <b>this is DELETE</b>
    HTML
}
elsif ($cgi->param('upid'))
{
    print $cgi->header, <<HTML; 
    <b>this is UPDATE</b>
    HTML
}

当我运行这个时,我得到一个错误:

  

错误讯息:   在EOF之前的任何地方都找不到字符串终止符“HTML”:/xampp / htdocs / perl / action.pl第14行。

并在<<HTML;

之间留出空格

喜欢:print $cgi->header, << HTML;

错误更改为:

  

错误消息:找不到字符串   终结者“”在EOF之前的任何地方   C:/xampp/htdocs/perl/action.pl行   14.,

这是什么原因?

注意:参数从另一个页面传递('selid'或'delid'或'upid')

1 个答案:

答案 0 :(得分:3)

必须确保heredocs的结束标记位于行的开头,否则解释器将无法识别标记。所以把HTML结尾放在行的最开头,之前没有空格。

还要记住,在开始标记周围使用双引号(例如print&lt;&lt;“HTML”;)允许插入变量,使用单引号不使用标记而不使用双引号< / p>