我有这个YAML文件:
name: Firas
dirs: [/bin/, /home/phiras/]
Run Code Online (Sandbox Code Playgroud)
我在perl中使用YAML :: Syck来解析这个文件,我在访问dirs项时遇到问题.我的代码是:
#!/usr/local/bin/perl
use strict;
use warnings;
use YAML::Syck;
use ConfigLoader;
use Data::Dumper;
my $conf = LoadFile("myconf.yml") || die("Error: Open config file \n");
print $conf->{name}, "\n";
my @dirs = $conf->{dirs};
print Dumper @dirs;
foreach(@dirs){
print "$_\n";
}
Run Code Online (Sandbox Code Playgroud)
输出是:
Firas
$VAR1 = [
'/bin/',
'/home/phiras/'
];
ARRAY(0x8470d6c)
正如您所看到的,循环正在打印一个项目,它被视为数组.我是以正确的方式做到的吗?
zou*_*oul 15
我认为问题是它$conf->{dirs}是一个arrayref,而不是一个数组.试试这个:
my @dirs = @{$conf->{dirs}};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
206 次 |
| 最近记录: |