私はこのようなyamlファイルを持っています:
---
date: 25-01-2010
version: 0.1
私はそれを編集したい。私はこのコードを使用しています:
use YAML::XS qw(LoadFile);
use YAML::Syck qw(Dump);
my $list = LoadFile("config.yaml");
$list{date} = "12-11-2011";
print "The date is $list->{date} n";
print "The version is $list->{version} n";
open F, '>', "config.yaml";
print F Dump( %list );
close F;
}
それが終わると、yamlファイルには日付と空の行だけが最後に含まれています。
---
date: 12-11-2011
このコードで何が問題になっていますか?私が良い結果を出す前に私は値のバージョンをチェックして、それはバージョンを表示しているが、まったくそれを書いていない…
私はYAML :: Syck ::
DumbFileを使用しようとしましたが、書き込まれたファイルにバージョンも含まれていませんでした。
---
date:
12-11-2011
ベストアンサー
YAMLを $ list
にロードしています。次に、%list
(完全に異なる変数、初期化されていない変数)に 'date'
を設定し、それをダンプします。
${$list}{date} = '12-11-2011';
print Dump($list);