sub Load { my $dir = shift; find(\&wanted, $dir); for(keys %tree){ my $name = $_; $name =~ s/^$dir//; push( @{ $tree }, { name => $name, value=> 1, # $tree{ $_ } } ); } print Dumper($tree); return $tree; } sub wanted { my $self = shift; push( @{ $tree{ $File::Find::dir } }, $_ ); }