我使用以下代码来编码一个简单的哈希
use JSON; my $name = "test"; my $type = "A"; my $data = "1.1.1.1"; my $ttl = 84600; @rec_hash = ('name'=>$name,'type'=>$type,'data'=>$data,'ttl'=>$ttl);
但我得到以下错误:
hash- or arrayref expected <not a simple scalar,use allow_nonref to allow this>
解决方法
你的代码似乎缺少一些重要的块,所以让我们添加一些丢失的位(我会在这里做一些假设),并修复我们走的事情。
添加缺少的样板。
#!/usr/bin/perl use strict; use warnings; use JSON; my $name = "test"; my $type = "A"; my $data = "1.1.1.1"; my $ttl = 84600;
使哈希成为哈希,而不是数组,不要忘记本地化它:我的%
my %rec_hash = ('name'=>$name,'ttl'=>$ttl);
实际上使用encode_json方法(传递一个hashref):
my $json = encode_json \%rec_hash;
输出结果:
print $json;
而且,我可以期待没有错误。
原文地址:https://www.jb51.cc/Perl/173207.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。