Вы на самом деле работаете со ссылкой на результаты. Поскольку JSON может содержать все виды разных результатов, decode_json не будет возвращать список специально.
Так что вам нужно разыменовать переменную, которая у вас есть: $ deserialize
Кроме того, вы не хотите использовать функцию длины. Если вы напечатаете целочисленное значение (или скалярное значение) массива, он вернет его размер.
Итак, вот что вы хотите:
my $list = request("http://localhost/getjson.php");
my $deserialize = from_json( $list );
print scalar (@{$deserialize});
Это напечатает размер массива.
Если вы хотите просто начать работать с массивом, вы можете сделать:
my $list = request("http://localhost/getjson.php");
my $deserialize = from_json( $list );
my @json_array = @{$deserialize});
print scalar (@json_array);