■Input(プログラム内Yaml形式を変数にロード)
・Load()
引数として指定した文字列行までを入力データとして
セパレータ(---)で区切られたYAML形式データを読み込むことができる。
スカラーデータの場合セパレータは
--- >
としないとエラーとなる
#!/usr/bin/perl
use strict;
use warnings;
use utf8;
use YAML;
binmode STDIN, ":utf8";
binmode STDOUT, ":utf8";
my ($string, $ref_array) = Load(<<'...');
--- >
なにかしらの
文字列
で
す
---
- Jan
- Feb
- Mar
...
use Dumpvalue;
my $d = Dumpvalue->new();
$d->dumpValue($string);
$d->dumpValue($ref_array);
実行結果。
'なにかしらの 文字列 で す
'
0 'Jan'
1 'Feb'
2 'Mar'
■Input(プログラム外Yaml形式を変数にロード)
・LoadFile()
config.yml
- aaa
-
- b1
- b2
-
- b3.1
- b3.2
- ccc
#!/usr/bin/perl
use strict;
use warnings;
use utf8;
use YAML;
binmode STDIN, ":utf8";
binmode STDOUT, ":utf8";
my $data = YAML::LoadFile('config.yml');
use Dumpvalue;
my $d = Dumpvalue->new();
$d->dumpValue($data);
■Output(標準出力に出力)
・Dump()
#!/usr/bin/perl
use strict;
use warnings;
use utf8;
use YAML;
binmode STDIN, ":utf8";
binmode STDOUT, ":utf8";
my $data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
print YAML::Dump($data);
---
-
- 1
- 2
- 3
-
- 4
- 5
- 6
-
- 7
- 8
- 9
■Output(ファイルに出力)
・DumpFile()
#!/usr/bin/perl
use strict;
use warnings;
use utf8;
use YAML;
binmode STDIN, ":utf8";
binmode STDOUT, ":utf8";
my $data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
YAML::DumpFile('output.yml', $data);