让我更具体一点。
我正在维护一堆 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 */
}
这不太行。我不知道如何加载configs/$site/wiki_config.pm
我的 Perl 脚本,因此我可以访问每个站点的配置详细信息。这个问题看起来几乎就像你必须有插件的问题。但是鉴于我的目录结构,我也无法弄清楚。
有谁知道我如何加载配置文件,以便我可以访问其中的函数和变量?
PS。这个问题与网络编程无关,而是关于 Perl 的一般问题。