【发布时间】:2012-10-05 22:09:36
【问题描述】:
我正在使用 Perl 来填充两个 html 表(每个表都是在其自己的 Perl CGI 脚本中生成的)。我有一个运行 SQL 查询的“助手”脚本。这是一个例子(我们称这个脚本为run_sql_query.pl):
my $sql_query = "SELECT ID from TABLE where ID > 3";
our $sth = $dbh->prepare($sql_query);
$sth->execute;
然后,在我的两个 Perl CGI 脚本中,我都会这样做:
require 'run_sql_query.pl';
our $sth;
while (my ($table_id) = $sth->fetchrow_array) {
...
}
但是,run_sql_query.pl 似乎运行了两次(在每个 Perl CGI 脚本中运行一次)。我怎样才能让run_sql_query.pl 只执行一次,然后在两个 Perl CGI 脚本中使用相同的 $sth 内容?
【问题讨论】:
-
你如何调用两个脚本来填充两个表?他们是
iframes 吗?你在做某种 Ajax 调用吗? -
为确保我们理解,您有两个独立的 CGI 程序,例如
foo.cgi和bar.cgi。它们分别运行(即在不同的网络点击中)。他们每个人require 'run_sql_query.pl'。您希望他们共享数据吗? -
@Schwern 是正确的。我想运行一次
run_sql_query.pl并在两个单独的 CGI 程序中使用该数据。 -
好的,另一个问题。这是什么网络服务器?还有什么样的协议?快速CGI? mod_perl?纯CGI?阿贾克斯?
-
@Schwern 目前只使用普通 CGI。