Author: lwall
Date: 2009-04-06 21:52:18 +0200 (Mon, 06 Apr 2009)
New Revision: 26101

Modified:
   docs/Perl6/Spec/S32-setting-library/Str.pod
Log:
[S32/Str] add :all flag to split


Modified: docs/Perl6/Spec/S32-setting-library/Str.pod
===================================================================
--- docs/Perl6/Spec/S32-setting-library/Str.pod 2009-04-06 16:41:16 UTC (rev 
26100)
+++ docs/Perl6/Spec/S32-setting-library/Str.pod 2009-04-06 19:52:18 UTC (rev 
26101)
@@ -15,8 +15,8 @@
                 Moritz Lenz <mor...@faui2k3.org>
                        Tim Nelson <wayl...@wayland.id.au>
  Date:          19 Mar 2009 extracted from S29-functions.pod
- Last Modified: 19 Feb 2009
- Version:       1
+ Last Modified: 6 Apr 2009
+ Version:       2
 
 The document is a draft.
 
@@ -317,8 +317,8 @@
 
 =item split
 
- our List multi method split ( Str $input: Str $delimiter, Int $limit = * ) is 
export
- our List multi method split ( Str $input: Rule $delimiter, Int $limit = * ) 
is export
+ our List multi method split ( Str $input: Str $delimiter, Int $limit = *) is 
export
+ our List multi method split ( Str $input: Regex $delimiter, Int $limit = *, 
Bool :$all = False) is export
 
 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.
@@ -329,12 +329,16 @@
 In general you should use C<comb> to split on whitespace now, or to break
 into individual characters.  See below.
 
-As with Perl 5's C<split>, if there is a capture in the pattern it is
-returned in alternation with the split values.  Unlike with Perl 5,
-multiple such captures are returned in a single Match object.  Also unlike
-Perl 5, the string to be split is always the invocant or first argument.
-A warning should be issued if the string appears to be a short constant
-string and the delimiter does not.
+If the C<:all> flag is supplied to the C<Regex> form, then the
+delimiters are returned as C<Match> objects in alternation with the
+split values.  Unlike with Perl 5, if the delimiter contains multiple
+captures they are returned as submatches of single C<Match> object.
+(And since C<Match> does C<Capture>, whether these C<Match> objects
+eventually flatten or not depends on whether the expression is bound
+into a list or slice context.)  Also unlike in Perl 5, the string to
+be split is always the invocant or first argument.  A warning should
+be issued if the string appears to be a short constant string and
+the delimiter does not.
 
 You may also split lists and filehandles.  C<$*ARGS.split(/\n[\h*\n]+/)>
 splits on paragraphs, for instance.  Lists and filehandles are automatically
@@ -344,7 +348,7 @@
 
 =item comb
 
- our List multi method comb ( Str $input: Rule $matcher = /\S+/, Int $limit = 
* ) is export
+ our List multi method comb ( Str $input: Regex $matcher = /\S+/, Int $limit = 
* ) is export
 
 The C<comb> function looks through a string for the interesting bits,
 ignoring the parts that don't match.  In other words, it's a version

Reply via email to