我在我的 web 项目中使用了许多 perl 脚本,我通过 jquery ajax 调用来调用它们。每个 perl 脚本都包含 mysql 数据库连接信息(用户名、密码、数据库名称)。
有没有更好的方法,这样我就可以避免每个 perl 文件中的数据库连接信息,并且可以全局存储,没有任何安全问题。
更糟糕的选择:
配置文件
package Config;
sub get_config {
return {
# sql credentials
user => "sqluser", pass => "123", dsn => "mysql..",
};
}
1; #return true from modules
index.pl 和其他脚本:
#make sure the current folder is in the lib path
#(if you have all in the same folder).
use FindBin;
use lib $FindBin::Bin;
require Config;
my $cfg = Config->get_config();
print "$cfg->{user} $cfg->{pass} ...\n";
但我猜你明白了,还有 TMTOWTDI。
config.pl
{
# sql credentials
user => "sqluser", pass => "123", dsn => "mysql..",
}
index.pl
和其他脚本:
my $CFG = do "config.pl";
print "$CFG->{user} $CFG->{pass} ...\n";