我想設置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