我编写了一个Perl脚本来读取配置文件并创建CGI脚本.这工作正常,我在终端上获得CGI脚本的输出,我可以在网页上执行CGI脚本.下面是我的示例脚本.
#!/usr/bin/perl -w
use strict;
use Text::Template;
my $conf = "test.cfg";
open CFG, $conf or die "Could not open config file";
my @rawConfig = <CFG>;
my $config = eval "{".join("",@rawConfig)."}";
my $template = Text::Template->new(TYPE => 'FILE', SOURCE => 'test.cgi.tmpl');
my $result = $template->fill_in(HASH => $config);
print $result;
Run Code Online (Sandbox Code Playgroud)
通过使用这个我必须保存每个CGI并单独执行.我需要帮助来修改此代码,以便我可以直接在Web上执行此脚本并在网页上显示输出.
这是一个非常非常可怕的事情,我通常建议不要做任何创造新程序的事情,并让世界在没有人的地方运行它们.
但是,我怀疑您可能正在这样做,因为您创建的CGI脚本只需要不同的配置数据,并且您已将其存储在脚本本身中.这只是一个猜测,但它是这种事情的通常动力.答案是不在脚本中存储配置数据.我在Mastering Perl中有一整章关于不在代码中存储配置.
我很努力地避免你所描述的情况.
(SO有扰流标签吗?)
如果您确实需要这么做(并且几乎不是这种情况),那么您将从原始进程创建文件,然后发出内部重定向到新的CGI脚本.你是如何做的那样是你的家庭作业,因为我不打算把枪弹给你.
| 归档时间: |
|
| 查看次数: |
279 次 |
| 最近记录: |