gpt4 book ai didi

perl - 是否可以在 Perl 中使用 Config::General 读取 __DATA__?

转载 作者:行者123 更新时间:2023-12-03 18:27:02 25 4
gpt4 key购买 nike

我想设置 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__ 读取配置键/值? ?

最佳答案

-ConfigFile 需要对句柄的引用。这有效:

my $configObj = Config::General->new(
-ConfigFile => \*main::DATA
);

关于perl - 是否可以在 Perl 中使用 Config::General 读取 __DATA__?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8732017/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com