# New Ticket Created by  "Chris Davaz" 
# Please include the string:  [perl #59074]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=59074 >


Moved the split function from Str.pir to any-str.pm and removed the
Perl6Str coercion.
Index: src/builtins/any-str.pir
===================================================================
--- src/builtins/any-str.pir	(revision 31254)
+++ src/builtins/any-str.pir	(working copy)
@@ -172,6 +172,31 @@
     .return ($P0)
 .end
 
+=item split
+
+ our List multi Str::split ( Str $delimiter ,  Str $input = $+_, Int $limit = inf )
+ our List multi Str::split ( Rule $delimiter = /\s+/,  Str $input = $+_, Int $limit = inf )
+ our List multi Str::split ( Str $input :  Str $delimiter          , Int $limit = inf )
+ our List multi Str::split ( Str $input : Rule $delimiter          , Int $limit = inf )
+
+String delimiters must not be treated as rules but as constants.  The
+default is no longer S<' '> since that would be interpreted as a constant.
+P5's C<< split('S< >') >> will translate to C<.words> or some such.  Null trailing fields
+are no longer trimmed by default.  We might add some kind of :trim flag or
+introduce a trimlist function of some sort.
+
+B<Note:> partial implementation only
+
+=cut
+
+.namespace[]
+.sub 'split' :multi(_,_)
+    .param pmc sep
+    .param pmc target
+    .return target.'split'(sep)
+.end
+
+.namespace['Any']
 .sub 'split' :method :multi('String')
     .param string delim
     .local string objst
@@ -202,12 +227,6 @@
     .return(retv)
 .end
 
-=item split(/PATTERN/)
-
-Splits something on a regular expresion
-
-=cut
-
 .sub 'split' :method :multi(_, 'Sub')
     .param pmc regex
     .local pmc match
Index: src/classes/Str.pir
===================================================================
--- src/classes/Str.pir	(revision 31254)
+++ src/classes/Str.pir	(working copy)
@@ -318,39 +318,6 @@
     .return s.'capitalize'()
 .end
 
-
-=item split
-
- our List multi Str::split ( Str $delimiter ,  Str $input = $+_, Int $limit = inf )
- our List multi Str::split ( Rule $delimiter = /\s+/,  Str $input = $+_, Int $limit = inf )
- our List multi Str::split ( Str $input :  Str $delimiter          , Int $limit = inf )
- our List multi Str::split ( Str $input : Rule $delimiter          , Int $limit = inf )
-
-String delimiters must not be treated as rules but as constants.  The
-default is no longer S<' '> since that would be interpreted as a constant.
-P5's C<< split('S< >') >> will translate to C<.words> or some such.  Null trailing fields
-are no longer trimmed by default.  We might add some kind of :trim flag or
-introduce a trimlist function of some sort.
-
-B<Note:> partial implementation only
-
-=cut
-
-.sub 'split'
-    .param string sep
-    .param string target
-    .local pmc a, b
-
-    a = new 'Perl6Str'
-    b = new 'Perl6Str'
-
-    a = target
-    b = sep
-
-    .return a.'split'(b)
-.end
-
-
 =item chop
 
  our Str method Str::chop ( Str  $string: )

Reply via email to