#!/usr/bin/perl use warnings; use strict; # myfind.pl use Cwd; sub myfind { my $wd = shift; opendir(DIR, $wd); my @dirs = (); while(my $fname = readdir(DIR)) { if ($fname eq "." || $fname eq "..") { next; } my $fullfname = "$wd/$fname"; if (-d $fullfname) { push(@dirs, $fullfname); } } close(DIR); foreach my $adir (@dirs) { print "$adir\n"; # Printing files inside directories: opendir(ADIR, $adir); while(my $afile = readdir(ADIR)) { if ($afile eq "." || $afile eq "..") { next; } print "$afile\n"; } close(ADIR); print "\n"; myfind($adir); } } myfind(getcwd());