use strict; use warnings; use JSON; use Data::Dumper; my $text = do { local $/; }; my $json = JSON->new(); my $data = $json->decode($text); #print Dumper( $data ); for my $page ( keys %{ $data->{query}->{pages} } ) { print $data->{query}->{pages}->{$page}->{extract}, "\n"; } __DATA__ { "query": { "pages": { "92491": { "pageid": 92491, "ns": 0, "title": "Eric Clapton", "extract": "foo ... bar" } } } }