为什么Perl CGI模块使用连字符来启动命名参数?

前端之家收集整理的这篇文章主要介绍了为什么Perl CGI模块使用连字符来启动命名参数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是新手.我的问题是密钥(类型,到期名称等)代表什么是“ – ”?为什么不使用普通的哈希表方式并丢弃连字符?

# #!/usr/local/bin/perl -w
use CGI; 
$q = CGI->new; 
print $q->header(-type=>'image/gif',-expires=>'+3d');
$q->param(-name=>'veggie',-value=>'tomato');

解决方法

作者已经解释了 in the documentation.

Most CGI.pm routines accept several
arguments,sometimes as many as 20
optional ones! To simplify this
interface,all routines use a named
argument calling style that looks like
this:

print
$q->header(-type=>’image/gif’,-expires=>’+3d’);

Each argument name is preceded by a
dash. Neither case nor order matters
in the argument list. -type,-Type,
and -TYPE are all acceptable. In
fact,only the first argument needs to
begin with a dash. If a dash is
present in the first argument,CGI.pm
assumes dashes for the subsequent
ones.

Several routines are commonly called
with just one argument. In the case
of these routines you can provide the
single argument without an argument
name. header() happens to be one of
these routines. In this case,the
single argument is the document type.

print $q->header(‘text/html’);

猜你在找的Perl相关文章