Ответ 1
В вашем коде, кажется, отсутствуют некоторые значимые фрагменты, поэтому добавьте недостающие биты (я сделаю некоторые предположения здесь) и исправлю вещи по мере того, как мы идем.
Добавьте отсутствующий шаблон.
#!/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 %
my %rec_hash = ('name'=>$name, 'type'=>$type,'data'=>$data,'ttl'=>$ttl);
На самом деле используйте метод encode_json
(передавая его hashref):
my $json = encode_json \%rec_hash;
Вывести результат:
print $json;
И это работает так, как я ожидал бы без ошибок.