How to convert a simple hash to json in Perl? How to convert a simple hash to json in Perl? json json

How to convert a simple hash to json in Perl?


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.

#!/usr/bin/perluse strict;use warnings;use JSON;my $name = "test";my $type = "A";my $data = "1.1.1.1";my $ttl  = 84600;

Make the hash a hash and not an array and don't forget to localise it: my %

my %rec_hash = ('name'=>$name, 'type'=>$type,'data'=>$data,'ttl'=>$ttl);

Actually use the encode_json method (passing it a hashref):

my $json = encode_json \%rec_hash;

Output the result:

print $json;

And that works as I would expect without errors.


Try %rec_hash = ... instead. @ indicates a list/array, while % indicates a hash.