use Win32::Process; print "Enter the subdirectory you'd like to parse: "; $path = ; chomp( $path ); $prefix = "C:\\Projects\\Source\\"; $path = "$prefix$path"; $path = "." unless $path; opendir( DIR, $path ) or die "Can't open $path: $!"; while ( $entry = readdir( DIR ) ) { $type = ( -d "$path\\$entry" ) ? "dir" : "file"; # $path is crucial! if( $entry =~ /\.h|\.c$/ ){ print "$entry\n"; } } closedir( DIR );