如何将参数传递给CGI程序

王朝other·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

这段时间来,我在看别人写的CGI程序都发现他们的程序为了得到表单发送的内容时都使用了很长的语句来得到发送的内容。

例如:

##################以下语句用来读取输入的变量###############

if ($ENV{'REQUEST_METHOD'} eq "POST") {

read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});

}

else {

$buffer = $ENV{'QUERY_STRING'};

}

@pairs = split(/&/, $buffer);

foreach $pair (@pairs) {

($name, $value) = split(/=/, $pair);

$value =~ tr/+/ /;

$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

$value =~ s/<!--(.|n)*-->//g;

$value =~ s/|//g;

$value =~ s/>/>/g;

$value =~ s/</</g;

$FORM{$name} = $value;

}

#################以下语句用来取出输入变量###############

$list = $FORM{'list'};

$no = $FORM{'no'};

$menu = $FORM{'menu'};

$page =$FORM{'page'};

$kind = $FORM{'kind'};

$down = $FORM{'down'};

$search = $FORM{'search'};

其实你完全不用如此累人写这么多代码,你完全可以轻松地运用param函数来得到表单输入的内容,请看下面的例文。

################例程##########

#!usr/bin/perl

use CGI qw(:all);

$title = param('title');

$text = param('text');

print $title;

print $text;

################例程完毕##########

你可以用test.pl?title=参数值&test=参数值这样的连接来试验,你也可以用表单来试验。。

最后记住,在你确定使用param函数的时候请在perl的路径下添加一句use CGI qw(:all)。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航