Perl 中是否有存储数据库连接参数和其他全局设置的约定?类似于 .NET 的 .config 文件?
背景:我继承了一个基于 Perl 的大型应用程序,其中有一堆 CGI 脚本和几个后台服务,所有这些服务都有硬编码的数据库主机名、用户名和密码。我想找到一个单一的、安全的地方来存储这些,并且如果可能的话也遵守 Perl 约定。我对 Perl 没有太多经验,而且谷歌似乎没有引导我为此达成约定。
这是我到目前为止所得到的:
创建一个名为config.pl
。将其放置在所有脚本都可以访问的位置,从而将所有脚本读取它所需的权限降低到最低限度。
As per 这个关于 perlmonks 的指南 http://www.perlmonks.org/?node=Including%20files:
将 config.pl 的内容设为哈希值:
dbserver => 'localhost',
db => 'mydatabase',
user => 'username',
password => 'mysecretpassword',
然后在每个脚本中:
use strict;
# The old way....
#my $dbh = DBI->connect("DBI:mysql:database=mydatabase;host=localhost", "username", "mysecretpassword");
# The new way
my %config = do '/path/to/config.pl';
my $dbh = DBI->connect("DBI:mysql:database=".$config{db}.";host=".$config{dbserver}."", $config{user}, $config{password});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)