【发布时间】:2012-06-21 23:29:59
【问题描述】:
让我更具体一点。
我正在维护一堆 wiki 网站。每个 wiki 网站在configs/wiki_website/wiki_config.pm 中都有一个配置。此配置文件包含使每个网站按其工作方式工作的函数和变量。
这是“devs”的示例 wiki 配置。它位于configs/devs/wiki_config.pm。
package devs;
use warnings;
use strict;
sub log_file {
return "/var/log/devs/log-%Y-%M-%d.log"
}
sub contact_emails {
return ("email@gmail.com", "anotheremail@gmail.com")
}
sub public_access {
1;
}
1;
现在我要做的是在我的 Perl 脚本中加载这个配置:
use warnings;
use strict;
my $site = shift() || die "No site specified!"
my $config = require "configs/$site/wiki_config.pm"
foreach ($config->contact_emails()) {
/* email contact_email */
}
这不太行。我不知道如何在我的 Perl 脚本中加载configs/$site/wiki_config.pm,这样我就可以访问每个站点的配置详细信息。这个问题看起来几乎就像你必须有插件的问题。但鉴于我的目录结构,我也无法弄清楚。
有谁知道我如何加载配置文件以便访问其中的函数和变量?
附言。这个问题与网络编程无关,而是关于 Perl 的一般问题。
【问题讨论】:
-
一方面,您的示例代码需要更多分号
标签: perl plugins configuration require