Rick Delaney wrote:
On Fri, May 13, 2005 at 04:05:23AM +0800, Autrijus Tang wrote:

On Thu, May 12, 2005 at 12:01:59PM -0700, Larry Wall wrote:

Yes, though I would think of it more generally as

   ('', $0, '', $0, '', $0, ...)

where in this case it just happens to be

   ('', $0)

and $0 expands to ['12','34','56','78','90'] if you treat it as an array.

I don't understand this comment. The $0 here is an array of match-objects and when treated as array it returns an array of match-objects, not an array of strings. (see below)



Thanks, implemented as such.

   pugs> map { ref $_ } split /(..)*/, 1234567890
   (::Str, ::Array::Const)


Sorry if I'm getting ahead of the implementation but if it is returning
$0 then shouldn't ref($0) return ::Rule::Result or somesuch?  It would
just look like an ::Array::Const if you treat it as such.

With pugs (r2917) this doesn't return an Array of Strings but an Array of Match-objects:


    pugs> map { ref $_ } split /(..)*/, 1234567890
    (::Str, ::Array::Const)

    pugs> map { ref $_ } [split /(..)*/, 1234567890][1]
    (::Match, ::Match, ::Match, ::Match, ::Match)
    pugs> map { ~$_ } [split /(..)*/, 1234567890][1]
    ('12', '34', '56', '78', '90')
    pugs> map { $_.from } [split /(..)*/, 1234567890][1]
    (0, 2, 4, 6, 8)

--
Markus Laire
<Jam. 1:5-6>

Reply via email to