'hoo:'}; my $du-6ren">
gpt4 book ai didi

perl - 在 YAML 中处理尾随冒号

转载 作者:行者123 更新时间:2023-12-04 06:15:12 24 4
gpt4 key购买 nike

我正在使用 YAML::Tiny 在 Perl 中写入和读取文件。不幸的是,我遇到了以冒号结尾的数据问题:

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,IT 向我保证很快就会安装。)

其次,有什么办法可以解决这个问题吗?我正在尝试使用转义字符,但我一定做得不对。我尝试用 \x3A 替换冒号,但这并没有给出期望的行为。 (打印 $dump 使字符串原样返回 [ hoo\x3A ],
Data::Dumper::Dumper行使它成为 'hoo\\x3A' .)

提前感谢您对此的任何帮助。

最佳答案

这个错误 was fixed in 1.5
您可以考虑使用 YAML 而不是 YAML::Tiny(Tiny 版本应该具有与其父级相同的接口(interface))。

我认为任何变通办法只会在您最终获得带有错误修复的 YAML::Tiny 1.5 之后使事情变得更糟。我建议你把 use YAML::Tiny 1.50在您的代码中或切换到 YAML。

关于perl - 在 YAML 中处理尾随冒号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7340244/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com