【发布时间】:2015-08-20 01:24:36
【问题描述】:
我需要对我的 Perl CGI 脚本有所了解。
首先,这是在 webmin 下运行的,所以我正在做一个自定义模块。
我正在调用一个 CGI Perl 脚本,它从另一个 Perl CGI 传递 2 个参数。我调用的链接格式如下:
http://IP:8080/foobar/alat.cgi?sysinfo=xxxxxxx&SR=yyyyyyyy
alat.cgi 脚本如下所示
#!/usr/bin/perl
use CGI qw(:standard);
ReadParse();
$q = new CGI;
my $dir = $in->param('SR');
my $s = $in->param('sysinfo');
ui_print_header(undef, $text{'edit_title'}.$dir, "");
print $dir."<br>";
print $s"<br>";
我打印出来的唯一输出是$dir 的值,$s 似乎是空的。
我做错了什么?
【问题讨论】:
-
use strict; use diagnostics;可能会有所帮助。 -
最后一行在 $s 和 "
" 之间缺少一个操作符……这是拼写错误吗? -
$q与$in不同。 -
谢谢,我实际上遇到了一些愚蠢的语法错误,最终我能够使用诊断程序检测到这些错误。对于相同的讨论,在此处添加更正的脚本:#!/usr/bin/perl # 在选定的 sysinfo 上运行 alat 并允许显示输出 #use strict;使用诊断;需要'recoverpoint-lib.pl';使用 CGI qw(:standard);读取解析();我的 $q = 新 CGI;我的 $dir = $q->param('SR');我的 $s = $q->param('sysinfo'); ui_print_header(undef, $text{'edit_title'}.$dir, "");打印 $dir."
";打印 $s."
"; -
不要在代码中保留
use diagnostics。仅用于非常具体的分析。它非常慢并增加了执行时间。