我正在使用YAML :: Tiny從Perl中的文件進行寫入和讀取。不幸的是,我在使用數據以冒號結束的問題:處理YAML中的尾部冒號
my $test_message = {"hoody" => 'hoo:'};
my $dump = YAML::Tiny::Dump($test_message);
my $reloaded = YAML::Tiny::Load($dump);
print Data::Dumper::Dumper($reloaded);
這將產生Failed to load YAML document from string at [the line with YAML::Tiny::Load]
。
首先,這看起來像一個錯誤。是嗎?或者我對YAML :: Tiny期待過多? (我們使用YAML :: Tiny 1.48;最新的版本是1.50,這可以確保我很快就會安裝。)
其次,有什麼辦法可以解決這個問題嗎?我試圖使用轉義字符,但我不能做正確的。我試圖用\x3A
替換冒號,但是這並沒有給出所需的行爲。 (打印$dump
給人的字符串返回不變[hoo\x3A
], 而Data::Dumper::Dumper
線使得它'hoo\\x3A'
)提前
感謝有這方面的幫助。
此代碼適用於perl 5.12和YAML :: Tiny版本1.5.0 – ennuikiller
@ennuikiller:謝謝。我會認爲升級到1.50會讓這個消失。 – BlairHippo
適用於YAML。對不起,我沒有安裝YAML :: Tiny。 – hexcoder