sub Again { $dirtoget= $_[0]; if(opendir(DH, $dirtoget)) { @thefiles = readdir(DH); closedir(DH); if(@thefiles) { foreach $f (@thefiles) { next if ($f eq "." or $f eq ".."); print "$f\n"; if(-d "$dirtoget/$f") { Again("$_[0]/$f"); } } } } else { return; } } $dirtoget = "c:/Exam"; Again($dirtoget);