今回は,
YAML.pm
YAML.
ダウンロード | http:// id/ |
---|---|
ドキュメント | http:// YAML-0. |
バージョン | 0. |
作者 | Brian Ingerson, |
- 注1
- そのわりには,
YAML. pmは仕様をあまり満たしていません。
インストール
インストールは,
リスト1 YAML.
$ sudo cpan YAML
使い方
YAML.
- YAML::Load($string)
- YAMLドキュメントを読み込む
- YAML::Dump($data)
- データをYAMLドキュメントに変換する
リスト2 YAML.
use strict;
use YAML ();
use Data::Dumper ();
## YAMLドキュメントの読み込み
my $filename = "example.yaml" ;
open(IN, $filename) or die("cannot open file.");
read(IN, my $input, (-s $filename));
close(IN);
my $ydoc = YAML::Load($input);
print Data::Dumper::Dumper($ydoc);
## または
## my $ydoc = YAML::LoadFile($filename);
## データをYAMLドキュメントへ変換
print YAML::Dump($ydoc);
タグを変更する
YAML::Syck.
日本語の扱い
日本語でも問題なく使えるようです。
不具合
筆者が試した限りでは,
- YAML::Load()
- 8進数や16進数が解釈されない
「null」 が解釈されず, 文字列の 「"null"」 となる 「true」 「false」 「yes」 「no」 「on」 「off」 が解釈されず文字列のまま - 日付や日時
(timestamp) が解釈されず文字列のまま - ルート要素がフロースタイルやスカラーだとエラー
- マッピングのマージが未サポート
- マッピングのキーに日本語を指定するとエラーになる場合がある
(リスト3)
リスト3 日本語をキーにするとエラー
- 姓: フグ田
名: サザエ
その他
YAML.