$VAR1 = '{ "alertCounts" : [ { "count" : 5, "rule" : "rule1" }, { "count" : 16, "rule" : "rule2" } ], "balArray" : [ { "containerArray" : [], "name" : "user_ip" }, { "containerArray" : [ { "entryArray" : [ { "action" : "flag", "expires" : "00:00:00", "hitsSinceAdded" : 56, "name" : "/my/page", "priority" : 4, "rule" : "rule1", "timestamp" : "15:28:40.150" } ], "name" : "192.168.1.100" }, { "entryArray" : [ { "action" : "flag", "expires" : "00:00:00", "hitsSinceAdded" : 185, "name" : "/my/page", "priority" : 4, "rule" : "rule2", "timestamp" : "15:12:55.961" } ], "name" : "192.168.1.101" } ' ; #### #JSON my $json = new JSON; my $json_text = $json->decode($content); foreach my $json_data(@{$json_text->{balArray}[0]{containerArray}[0]{entryArray}[0]}) { print {$output_fh} "$json_data->{timestamp},"; print {$output_fh} "$json_data->{flag},\n"; }