Database 如何避免在每个perl文件中包含数据库连接信息

Database 如何避免在每个perl文件中包含数据库连接信息,database,perl,Database,Perl,我在web项目中使用了大量perl脚本,我通过jQueryAjax调用调用了这些脚本。每个perl脚本包含mysql数据库连接信息用户名、密码、数据库名称 有没有更好的方法可以避免每个perl文件中的数据库连接信息,并且可以全局存储这些信息,而不会出现任何安全问题。config.pl index.pl和其他脚本: my $CFG = do "config.pl"; print "$CFG->{user} $CFG->{pass} ...\n"; #make sure the cur

我在web项目中使用了大量perl脚本,我通过jQueryAjax调用调用了这些脚本。每个perl脚本包含mysql数据库连接信息用户名、密码、数据库名称

有没有更好的方法可以避免每个perl文件中的数据库连接信息,并且可以全局存储这些信息,而不会出现任何安全问题。

config.pl

index.pl和其他脚本:

my $CFG = do "config.pl";
print "$CFG->{user} $CFG->{pass} ...\n";
#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";
config.pl

index.pl和其他脚本:

my $CFG = do "config.pl";
print "$CFG->{user} $CFG->{pass} ...\n";
#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";

更完美的选择:

Config.pm

package Config;

sub get_config {
  return { 
    # sql credentials
    user => "sqluser", pass => "123", dsn => "mysql..",
  };
}
1; #return true from modules
index.pl和其他脚本:

my $CFG = do "config.pl";
print "$CFG->{user} $CFG->{pass} ...\n";
#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";

但我想你已经有了意识,还有TMTOWTI

更完美的选项:

Config.pm

package Config;

sub get_config {
  return { 
    # sql credentials
    user => "sqluser", pass => "123", dsn => "mysql..",
  };
}
1; #return true from modules
index.pl和其他脚本:

my $CFG = do "config.pl";
print "$CFG->{user} $CFG->{pass} ...\n";
#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";

但我想你已经有了意识,还有TMTOWTI

是否可以将其存储在一个配置文件中?像config.yml这样的东西可以存储在一个配置文件中吗?类似config.ymlThanks的内容可供您快速响应。感谢您的快速响应。已存在,请选择其他名称。已存在,请选择其他名称。