From: Richard Lionheart Date: 2004-07-09T13:47:33+09:00 Subject: Anomoly using pattern to remove superfluous final \, if present Hi All, The following Ruby script displays use of a pattern to remove a superfluous backslash in a string if present. It works as intended with two "toy" situations, but fails when applied to an environment string running under Windows. Can anyone tell me where I erred? TIA, Richard ============ Ruby pgm =========== # Executed under Windows 2000 s1 = "ab\\\\" puts "s1 before: \"#{s1}\" (two backslashes)" s1.chop! if s1.reverse =~ /^\\\\/ puts "s1 after: \"#{s1}\" (redced to a single backslash)" s2 = "ab\\" puts "s2 before: \"#{s2}\" (single backslash)" s2.chop! if s2.reverse =~ /^\\\\/ puts "s2 after: \"#{s2}\" (single backslash, undisturbed)" s3 = ENV["UserProfile"] puts "s3: \"#{s3}\"" sCookiesPath = s3 + "\\" puts "Cookies path before: \"#{sCookiesPath}\" (single backslash)" sCookiesPath.chop! if sCookiesPath.reverse !~ /^\\\\/ puts "Cookies path after: \"#{sCookiesPath}\" (single backslash removed - why)" <<'OUTPUT' >rubyw PatternsTest.rb s1 before: "ab\\" (two backslashes) s1 after: "ab\" (redced to a single backslash) s2 before: "ab\" (single backslash) s2 after: "ab\" (single backslash, undisturbed) s3: "G:\Documents and Settings\RLMuller" Cookies path before: "G:\Documents and Settings\RLMuller\" (single backslash) Cookies path after: "G:\Documents and Settings\RLMuller" (single backslash removed - why) >Exit code: 0 OUTPUT --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.713 / Virus Database: 469 - Release Date: 7/7/2004