in reply to Re: recursive alternative for nested array to JSON script?
in thread recursive alternative for nested array to JSON script?
well yes, I currently use JSON to do a similar recursive directory list output, where I don't need to retain the order of the pages:
use strict; use warnings; use JSON; sub rec_tree { my $n = $_[0] = {}; my @s; find( sub { $n = (pop @s)->[1] while @s and $File::Find::dir ne $s[-1][0]; return $n->{$_} = data_me($_) if -f; /$bandir/ and $File::Find::prune = 1; /$hidedir/ and $File::Find::prune = 1; push @s,[ $File::Find::name,$n ]; $n = $n->{$_} = {}; }, $_[1]); $_[0]{$_[1]} = delete $_[0]{'.'}; } my $out; rec_tree($out,shift); my $jsout = JSON->new->allow_nonref->encode($out);
but as I mentioned, a similar recursive approach to parsing the @path data above defeats me, hence the hard coding, which at least retains the correct order in the output..
|
|---|