in reply to directory tree to hash of arrays
Perhaps the following will be helpful:
use strict; use warnings; use Cwd; use JSON; my %hash; my $currDir = Cwd::cwd(); push @{ $hash{$currDir} }, { name => $_, size => ( stat($_) )[7] } for + <*>; my $j = encode_json \%hash; print $j;
Sample output:
{"/home/user/programming/Perl/tmp":[{"name":"File1.txt","size":63},{"n +ame":"File2.txt","size":55},{"name":"temp5.pl","size":196},{"name":"t +est.pl","size":197}]}
When run, it gets the current dir, uses it as the hash key whose value is a reference to an array of (file and filesize) hashes. That hash is later json encoded. Substitute your own path in $currDir, as needed.
In Section
Seekers of Perl Wisdom