Perl。 yamlファイルを編集するには?

私はこのような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);

perlreftut

use strict;

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です