I'm using the following code to encode a simple hash
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);
but I get the following error:
hash- or arrayref expected <not a simple scalar, use allow_nonref to allow this>
Your code seems to be missing some significant chunks, so let's add in the missing bits (I'll make some assumptions here) and fix things as we go.
Add missing boilerplate.
Make the hash a hash and not an array and don't forget to localise it:
my %
Actually use the
encode_json
method (passing it a hashref):Output the result:
And that works as I would expect without errors.
Try
%rec_hash = ...
instead.@
indicates a list/array, while%
indicates a hash.