my @list = ( # Good "\\\\files\\builds\\data\\M9998SBQCACSYD30401S", # Bad "\\\\files\\builds\\data\\M9998SBQCACSAD30401S", ); for my $x (@list) { if ($x =~ /Y[A-Z]\d[^\\]*$/){ print "$x - matches\n"; } else { print "$x - doesn't match\n"; } }