我需要使用YAML
在perl中加载两个不同的配置文件使用YAML qw' LoadFile';
然后在我使用的第一个函数
my $ conf = LoadFile(' /config/test.yaml');我的$ serve = $ conf-> {test};
在第二个我使用
my $ conf = LoadFile(' /config/XYZ.yaml');我的$ key = $ conf-> {xyz};
现在在这种情况下,如果我只使用一个文件然后它工作正常,但同时使用它们给我错误。 有人知道它的原因吗?
答案 0 :(得分:1)
我担心您无法获得足够的信息来帮助我们诊断您的问题,但正如您所说,这里是一个加载两个不同YAML文件的演示。正如您所看到的,它与您自己的代码所显示的内容完全相同,这应该可以正常工作
---
test: value for test
---
xyz: value for xyz
use strict;
use warnings 'all';
use feature 'say';
use YAML qw/ LoadFile /;
my $conf = LoadFile('test.yaml');
say $conf->{test};
$conf = LoadFile('XYZ.yaml');
say $conf->{xyz};
value for test
value for xyz
答案 1 :(得分:1)
我注意到在你的问题中,你谈到了在不同的功能中加载这两个文件。所以我改变了Borodin' answer以更好地反映我认为你在做什么。
#!/usr/bin/perl
use strict;
use warnings 'all';
use feature 'say';
use YAML qw/ LoadFile /;
sub load_test {
my $conf = LoadFile('test.yaml');
my $test = $conf->{test};
say $test;
}
sub load_xyz {
my $conf = LoadFile('XYZ.yaml');
my $xyz = $conf->{xyz};
say $xyz;
}
load_test();
load_xyz();
当我跑步时,我得到:
value for test
value for xyz
所以我无法看到问题所在。如果您需要更多帮助,那么您需要向我们提供更多详细信息。