my $dir = "C:/" sub recurseDir2 { my @temp = (glob @_[0]); foreach (@temp) { if (-d $_) { print "Directory: $_" , "\n" ; recurseDir("$_/*"); }else{ if (-f $_) { print "File: $_ \n"; } } } } recurseDir2($dir)