foreach $file (@files) { print Dumper $file; foreach $t(keys %$file){ print "\nt= $t v=" . $file->{$t}; } .. #### $VAR1 = [ { 'longname' => 'drwxr-xr-x 2 1ae2ets fq 4096 Sep 14 2007 .', 'a' => bless( { 'uid' => 2004734, 'flags' => 15, 'mtime' => 1189777443, 'atime' => 1211362016, 'perm' => 16877, 'gid' => 2004409, 'size' => 4096 }, 'Net::SFTP::Foreign::Attributes' ), 'filename' => '.' }, { 'longname' => 'drwxr-xr-x 3 1ae2ets fq 4096 Sep 14 2007 ..', 'a' => bless( { 'uid' => 2004734, 'flags' => 15, 'mtime' => 1189777162, 'atime' => 1211317201, 'perm' => 16877, 'gid' => 2004409, 'size' => 4096 }, 'Net::SFTP::Foreign::Attributes' ), 'filename' => '..' }, { 'longname' => '-r-------- 1 root root 0 Jan 8 2007 .mirror', 'a' => bless( { 'uid' => 0, 'flags' => 15, 'mtime' => 1168287005, 'atime' => 1189777418, 'perm' => 33024, 'gid' => 0, 'size' => 0 }, 'Net::SFTP::Foreign::Attributes' ), 'filename' => '.mirror' } ];