我想要做的事情應該非常簡單直接。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