nuse Benchmark qw(timethese);\r<br>\nuse Data::Seek;\r<br>\nuse Data::DPath qw(dpath);\r<br>\nuse JSON::Path;\r<br><br>my \$data = { map { \$_ => {map {\$_=>[1..4]} 1..20} } "a".."
,\r<br><br>dpath=>sub{ dpath("/j/1/*")->match(\$data) }, \r<br><br>jpath=>sub{ JSON::Path->new(q[\$.j.1.[*]])->values(\$data) },\r<br>\n});\r<br>\n###\r<br><br>###\r<br>\nBenc
ct subtree (must always select leaf node).\r<br><br>As alternatives, I recommend the much simpler JSON::Path, or the more powerful Data::DPath.\r<br>\n\n",module=>"Data::Seek",rating=>undef},{descript