use strict; use warnings; use Data::Dumper; use JSON; my $son = '{ "trans2": [ 90, 20 , 80, 33 ] }'; # THIS IS a *STRING* my $r=decode_json($son);#cannot understand why I need to do # the 'decode' converts the string into a a perl structure (Hash ref), and store in $r print Dumper \$r; # without dumper, how can I iterate using for loop? # Here's how to iterate .. for my $k (sort keys %$r){ print "Values under $k:\n"; for my $val (@{$r->{$k}}){ print "$val, "; } print "\n"; }