我有很多具有通用配置的小型 Perl 守护进程。
目前,我使用它来加载设置:
在 myconfig.pm 中:
package MyConfig;
use base 'Exporter';
BEGIN {
our @EXPORT = qw( $DB_DSN $DB_USER $DB_PWD );
}
our @EXPORT;
use vars @EXPORT;
$DB_DSN = "DBI:mysql:...";
$DB_USER = 'asdad';
...
在 daemon.pl 中:
use MyConfig;
这工作得很好。但是现在我有了新的要求,即在USR1
收到信号时重新加载配置。我知道
$SIG{"USR1"} = sub { ... }
但接下来呢?use MyConfig
再次?看起来很生气。
我的脚本必须在许多不同的平台和从 5.8 到现代的不同 perl 版本上运行,所以我试图避免使用 CPAN 模块。
请为我指出有关此任务的良好解决方案。