use strict; my $dir = "/"; my $file; sub openNewDir { $dir = shift; opendir (DIR, $dir); while ($file = readdir (DIR)) { if (-d $file) { openNewDir($dir.$file."\\"); } else { # Do something with the file } } close (DIR); } openNewDir ($dir);