use JSON; use Data::Dumper; ...; # open files, read the JSON string my $data = decode_json $your_json_string; for (qw/bigstor_nfs test_nfs/) { # list of keys to search for print {$filehandle} Dumper { $_ => $data->{tag}{dev}[0]{nfsmount}{$_} } if exists $data->{tag}{dev}[0]{nfsmount}{$_}; # print to prevousely opened filehandle: # the results of "dumping" of anonymous hash reference # containing the key and its value # if this key exists in the main hash }