问候的Perl专家
基于下面的YAML文件,这个例子的Perl:YAML迭代的阵列? 有人可以请这么好心给我一个Perl的例子,我可以选择以全国,并打印出我一直是城市?
USA:
BeenThere: [Miami, Denver, Las Vegas, Chicago]
ToVisit: [Los Angeles, Boston]
Europe:
BeenThere: [Paris, Amsterdam, Dublin, Bulgaria, Madrid]
ToVisit: [Budapest, Belgrad]
Latam:
BeenThere: [Venezuela, Bogota]
ToVisit: [Argentina, San Paulo]
非常感谢!
你想获得每个国家的信息,或者只是一个特定的一个?
具体之一:
my $country_name = '...';
my $country = $data->{$country_name};
my $visited = $country->{BeenThere};
for my $city_name (@$visited) {
say $city_name;
}
所有:
for my $country_name (keys %$data) {
my $country = $data->{$country_name};
my $visited = $country->{BeenThere};
for my $city_name (@$visited) {
say "$city_name, $country_name";
}
}
取决于你如何定义“选择”,这可能帮助:
use strict;
use warnings;
use YAML::XS qw(LoadFile);
my $data = LoadFile('test.yaml');
for my $city (@{$data->{USA}{BeenThere}}) {
print("$city ");
}
每个国家是一个散列引用和城市是数组引用(如你通过链接处理)。