如何在YAML中声明列表并使用PERL YAML::XS读取
我可以在YAML中创建如下价值:如何在YAML中声明列表并使用PERL YAML::XS读取,perl,yaml,Perl,Yaml,我可以在YAML中创建如下价值: MYVAL: 1 我可以在PERL中加载它,如下所示: my $settings = YAML::XS::LoadFile... my $number_mine = $settings->{'MYVAL'}; 我现在想在YAML中创建一个字符串数组。 我试着使用——并且——但没有看到它 亚马尔 PERL: 转储列表并查看其外观: $ perl -MYAML -E 'say YAML::Dump( { MYARRAY => ["str1","str
MYVAL: 1
我可以在PERL中加载它,如下所示:
my $settings = YAML::XS::LoadFile...
my $number_mine = $settings->{'MYVAL'};
我现在想在YAML中创建一个字符串数组。
我试着使用——并且——但没有看到它
亚马尔
PERL:
转储列表并查看其外观:
$ perl -MYAML -E 'say YAML::Dump( { MYARRAY => ["str1","str2","str3"] })'
---
MYARRAY:
- str1
- str2
- str3
转储列表并查看其外观:
$ perl -MYAML -E 'say YAML::Dump( { MYARRAY => ["str1","str2","str3"] })'
---
MYARRAY:
- str1
- str2
- str3
这:
是YAML映射,与您的
MYVAL: 1
是一个YAML映射。不同之处在于键MYARRAY
的值是一个普通(即不带引号的)标量字符串str1、str2、str3
,而值MYVAL
是标量整数1
如果要将三个字符串的序列作为单行上的值,则需要执行以下操作:
MYARRAY: [str1,str2,str3]
(可选在逗号之前和/或之后加空格)。这是一个由三个普通标量组成的流样式序列:str1
、str2
和str3
另一种方法是使用块样式:
MYARRAY:
- str1
- str2
- str3
这在语义上等同于上面的流样式示例。这是:
是YAML映射,与您的
MYVAL: 1
是一个YAML映射。不同之处在于键MYARRAY
的值是一个普通(即不带引号的)标量字符串str1、str2、str3
,而值MYVAL
是标量整数1
如果要将三个字符串的序列作为单行上的值,则需要执行以下操作:
MYARRAY: [str1,str2,str3]
(可选在逗号之前和/或之后加空格)。这是一个由三个普通标量组成的流样式序列:str1
、str2
和str3
另一种方法是使用块样式:
MYARRAY:
- str1
- str2
- str3
这在语义上等同于上面的流样式示例。我想我对PERL加载到变量并访问第一个元素感到困惑。实际上我有上面的内容,但我认为这是错误的。列表元素前面的前导空格很重要。@mob不,破折号前面的前导空格不重要。实际上,所有YAML库都可以在没有前导空格的情况下解析它。破折号被计算为缩进。我想我对PERL加载到变量中并访问第一个元素感到困惑。实际上我有上面的内容,但我认为这是错误的。列表元素前面的前导空格很重要。@mob不,破折号前面的前导空格不重要。实际上,所有YAML库都可以在没有前导空格的情况下解析它。破折号作为缩进计数。请参阅