{"responseData":{"translatedText":"Ciao mondo"},"responseDetails":"","responseStatus":200,"matches":[{"id":"424913311","segment":"Hello World","translation":"Ciao mondo","quality":"74","reference":"","usage-count":50,"subject":"All","created-by":"","last-updated-by":null,"create-date":"2011-12-29 19:14:22","last-update-date":"2011-12-29 19:14:22","match":1},{"id":"0","segment":"Hello World","translation":"Ciao a tutti","quality":"70","reference":"Machine Translation provided by Google, Microsoft, Worldlingo or the MyMemory customized engine.","usage-count":1,"subject":"All","created-by":"MT!","last-updated-by":null,"create-date":"2012-05-13","last-update-date":"2012-05-13","match":0.85}]} #### use JSON qw( decode_json ); # From CPAN use Data::Dumper my $json_text= "...."; my $decoded_json = decode_json( $json_text ); #print Dumper $decoded_json; foreach my $value ( @{ $decoded_json->{'responseData'} } ) { print my $value->{'translatedText'} ; }