in reply to Re: directory tree to hash of arrays
in thread directory tree to hash of arrays
Thanks...I guess I thought it was clearer than it actually was. What I wanted was similar to what you provided...but instead of each key being the file name, I want to be able to have a series of hashes in an array...such that it would be populated like:
The place I get lost in the code at the bottom is that the hash is returned...but I don't see how to take that and push it onto an array with the way the code was written
{name => 'pm_multi_line_match.pl', size => 1025}, 'pm_multi_mod_distro_test' => { 'My-Example' => { {name => 'Build.PL', size => 651}, ...etc
#!/usr/bin/env perl use strict; use warnings; use File::Find; use Data::Dumper; my $rootDir = '/tmp/somedir'; $Data::Dumper::Indent = 1; build_tree(my $tree, $rootDir); print Dumper($tree); sub build_tree { my $node = $_[0] = {}; my @s; find( sub { push @$node, (pop @s)->[1] while @s and $File::Find::dir ne $s[-1] +[0]; $node->{'name'} = $_ if -f; $node->{'size'} = -s if -f; # Here is where I am lost...How do I get this pushed into an array +? return $node if -f; push @s, [ $File::Find::name, $node ]; $node = $node->{$_} = {}; }, $_[1]); $_[0]{$_[1]} = delete $_[0]{'.'}; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: directory tree to hash of arrays
by kcott (Archbishop) on Mar 08, 2014 at 02:17 UTC | |
by mabossert (Scribe) on Mar 08, 2014 at 04:23 UTC | |
by hippo (Archbishop) on Mar 08, 2014 at 10:29 UTC | |
by mabossert (Scribe) on Mar 14, 2014 at 02:18 UTC | |
by kcott (Archbishop) on Mar 14, 2014 at 04:36 UTC | |
by mabossert (Scribe) on Mar 14, 2014 at 06:11 UTC |