我想设置Config :: General从__DATA__
节读取脚本而不是外部文件。 (我意识到这通常不是如何工作的,但是我想看看我能否实现它。一个特定的用例是我可以将脚本示例发送给另一个开发人员,而无需发送单独的配置文件。)是否可以在Perl中使用Config :: General来读取__DATA__?
根据perldoc perldata,$main::DATA
应该充当有效的文件句柄。我认为Config::General应该能够使用-ConfigFile => \$FileHandle
来阅读它,但它不适合我。例如,该脚本将执行没有崩溃,但__DATA__
不读
#!/usr/bin/perl -w
use strict;
use Config::General;
use YAML::XS;
my $configObj = new Config::General(-ConfigFile => $main::DATA);
my %config_hash = $configObj->getall;
print Dump \%config_hash;
__DATA__
testKey = testValue
我也试过:
my $configObj = new Config::General(-ConfigFile => \$main::DATA);
和
my $configObj = new Config::General(-ConfigFile => *main::DATA);
和其他一些变化,但没有得到任何工作。
是否可以使用Config :: General从__DATA__
读取配置密钥/值?
它应该是'Dump \%config_hash'而不是'Dump%config_hash'。 – 2012-01-04 18:57:26
@BradGilbert - 是的。我只是编辑修改\%config_hash的引用。谢谢。 – 2012-01-04 19:13:36
在这个线程中'main ::'的所有用法都是多余的。 – ikegami 2012-01-05 01:15:13