* Dr.Ruud <[EMAIL PROTECTED]> [2007-12-02 14:34]:
> John W . Krahn schreef:
> > Eric Krause:
> 
> > $ perl -le'
> > $_ = q[11111xxx11xxxx111111xx11x1xxxx];
> > print;
> > s/(1+)/@{[($l=$1)=~y|1|1|]}/g;
> > print;
> > '
> > 11111xxx11xxxx111111xx11x1xxxx
> > 5xxx2xxxx6xx2x1xxxx
> > :-)
> 
> Aiaiaiai. 
> 
> $ perl -le'
>   $_ = q[11111xxx11xxxx111111xx11x1xxxx];
>   print;
>   1 while s/(\d)(\d)/@{[0==print, $1+$2]}/;
>   print;
> '
> 11111xxx11xxxx111111xx11x1xxxx
> 11111xxx11xxxx111111xx11x1xxxx
>  2111xxx11xxxx111111xx11x1xxxx
>   311xxx11xxxx111111xx11x1xxxx
>    41xxx11xxxx111111xx11x1xxxx
>     5xxx11xxxx111111xx11x1xxxx
>     5xxx 2xxxx111111xx11x1xxxx
>     5xxx 2xxxx 21111xx11x1xxxx
>     5xxx 2xxxx  3111xx11x1xxxx
>     5xxx 2xxxx   411xx11x1xxxx
>     5xxx 2xxxx    51xx11x1xxxx
>     5xxx 2xxxx     6xx11x1xxxx
>     5xxx 2xxxx     6xx 2x1xxxx

As this is a beginner's list I'll dare ask the question.

Can someone please help me understand why this works or better still point me 
to some documentation where I can read more and get my teeth into this kind of 
thing!

I thought I was pretty good at regular expressions but this creation of what 
seems a nameless hash in the replacement side of the regular expression is 
something I've never seen before, both John and Affijn do this @{ [  ] } 
anonymous array of hash which isn't because inside the [ ] you have a function ?

Thanks in advance,

Jerry

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to