我想要做的事情应该非常简单直接。Perl YAML到JSON
use JSON;
use YAML;
use Data::Dumper;
my $yaml_hash = YAML::LoadFile("data_file.yaml");
print ref($yaml_hash) # prints HASH as expected
print Dumper($yaml_hash) # correctly prints the hash
my $json_text = encode_json($yaml_hash);
的encode_json错误出来说:
cannot encode reference to scalar 'SCALAR(0x100ab630)' unless the scalar is 0 or 1
我无法理解为什么encode_json认为$ yaml_hash是标量的参考,而实际上它是一个散列的引用
我做错了什么?
注意,JSON是一种* YAML的子集*,如果数据仅使用JSON支持的功能,则不需要翻译。另一方面,如果数据确实使用了YAML专用的一些功能,那么翻译是不可能的。 – Borodin 2014-09-02 23:59:00