edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Initializers.Generated.cs;C1028020
File: Initializers.Generated.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Initializers.Generated.cs;C1028020  (server)    7/31/2009 9:39 AM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Initializers.Generated.cs;ClrStringRegex
@@ -2473,6 +2473,12 @@
                 new System.Func<IronRuby.Runtime.BinaryOpStorage, IronRuby.Runtime.RespondToStorage, System.String, System.Object, System.Object>(IronRuby.Builtins.ClrString.Compare)
             );
             
+            module.DefineLibraryMethod("=~", 0x51, 
+                new System.Func<IronRuby.Runtime.RubyScope, System.String, IronRuby.Builtins.RubyRegex, System.Object>(IronRuby.Builtins.ClrString.Match), 
+                new System.Func<System.String, System.String, System.Object>(IronRuby.Builtins.ClrString.Match), 
+                new System.Func<IronRuby.Runtime.CallSiteStorage<System.Func<System.Runtime.CompilerServices.CallSite, IronRuby.Runtime.RubyScope, System.Object, System.String, System.Object>>, IronRuby.Runtime.RubyScope, System.String, System.Object, System.Object>(IronRuby.Builtins.ClrString.Match)
+            );
+            
             module.DefineLibraryMethod("==", 0x51, 
                 new System.Func<System.String, System.String, System.Boolean>(IronRuby.Builtins.ClrString.StringEquals), 
                 new System.Func<System.String, IronRuby.Builtins.MutableString, System.Boolean>(IronRuby.Builtins.ClrString.StringEquals), 
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/MutableStringOps.cs;C1031592
File: MutableStringOps.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/MutableStringOps.cs;C1031592  (server)    7/31/2009 9:30 AM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/MutableStringOps.cs;ClrStringRegex
@@ -1815,7 +1815,7 @@
         #endregion
 
 
-        #region match
+        #region =~, match
 
         [RubyMethod("=~")]
         public static object Match(RubyScope/*!*/ scope, MutableString/*!*/ self, [NotNull]RubyRegex/*!*/ regex) {
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Extensions/ClrStringOps.cs;C1031592
File: ClrStringOps.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Extensions/ClrStringOps.cs;C1031592  (server)    7/31/2009 9:29 AM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Extensions/ClrStringOps.cs;ClrStringRegex
@@ -21,6 +21,8 @@
 using IronRuby.Compiler;
 using System.Runtime.InteropServices;
 using Microsoft.Scripting;
+using System.Runtime.CompilerServices;
+using IronRuby.Runtime.Calls;
 
 namespace IronRuby.Builtins {
 
@@ -200,7 +202,25 @@
 
         #endregion
 
-        #region TODO: match
+        #region =~, TODO: match
+
+        [RubyMethod("=~")]
+        public static object Match(RubyScope/*!*/ scope, string/*!*/ self, [NotNull]RubyRegex/*!*/ regex) {
+            return RegexpOps.MatchIndex(scope, regex, MutableString.Create(self, RubyEncoding.UTF8));
+        }
+
+        [RubyMethod("=~")]
+        public static object Match(string/*!*/ self, [NotNull]string/*!*/ str) {
+            throw RubyExceptions.CreateTypeError("type mismatch: String given");
+        }
+
+        [RubyMethod("=~")]
+        public static object Match(CallSiteStorage<Func<CallSite, RubyScope, object, string, object>>/*!*/ storage,
+            RubyScope/*!*/ scope, string/*!*/ self, object obj) {
+            var site = storage.GetCallSite("=~", new RubyCallSignature(1, RubyCallFlags.HasScope | RubyCallFlags.HasImplicitSelf));
+            return site.Target(site, scope, obj, self);
+        }
+
         #endregion
 
         #region TODO: scan
===================================================================
