Я бы хотел настроить 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__
?