#!/usr/bin/perl use strict; # https://perlmonks.org/?node_id=11165436 use warnings; use Path::Tiny; use JSON::PP; sub names { my ($data) = @_; if( 'ARRAY' eq ref $data ) { map names($_), @$data; } elsif( 'HASH' eq ref $data ) { map { my $id = $_; map "$id.$_", names($data->{$_}) } keys %$data; } else { "\n" } } print s/\.$//r for names decode_json path('d.11165436')->slurp; # FIXME filename