my $dir = "c:\\temp\\%1111 323232?"; if ($dir =~ m/^[a-z]:\\(?:[^\\/:*?"<>|\r\n]+\\)*[^\\/:*?"<>|\r\n]*$/i) { print "Valid Path\n"; } else { print "Not Valid Path\n"; }