【发布时间】:2018-06-14 12:07:45
【问题描述】:
我有两个 Perl 脚本。我们称他们为one.pl 和two.pl。
one.pl处理一些数据,需要调用two.pl,传递一个变量。
在one.pl我可以
require "two.pl"
调用第二个脚本。
这很好,但我想将 CGI 变量传递给 two.pl。
有没有办法在不将two.pl 重写为 Perl 模块的情况下做到这一点?
例如我想要的是:
一个.pl
...
require "two.pl $number";
两个.pl
use CGI;
my $cgi = new CGI;
my $number = $cgi->param('number');
...
编辑: two.pl 应该只被调用一次
【问题讨论】:
-
$number已经是 CGI 参数,还是其他值? -
@mob 你的答案几乎是正确的。
-
对于初学者,不要将
require用于.pl 文件。你应该使用do。 -
“有没有什么办法可以在不将第二个脚本重写为模块的情况下做到这一点?” 重写几乎可以肯定是正确的选择,但很大程度上取决于@ 987654335@ 确实如此。
require解决方案有一个陷阱,这是错误的选择。坚持它可能符合你的目的,但你是在谴责其他人处理难以发现的错误。 -
我认为我们需要查看
one.pl和two.pl包含的内容,以便我们更好地了解您要做什么。如果你能把它减少到我们可以自己运行的几行代码,那就太好了!