#!/usr/bin/perl use strict; use warnings; use Data::Dumper; print Dumper walk('./rdw01_testsuit'); exit; sub walk { my $here = {}; chdir shift; $here->{$_} = (-d $_) ? walk($_) : '' for (<*>); chdir '..'; return $here; }