Yes I agree that it's not very orthogonal, if LIMIT > 0 is a count and LIMIT == 0 rather means undef like in "No Limit" .*
I don't see where this concept stems from, probably some sed or awk semantic, (probably because undef is missing there ?)²
But I agree with afoken that it's too late to change it.
Anyway I would never have tried to solve it that way, rather
DB<1> $str = join " ", 1..5 DB<2> for $k (0..6) { my $sum=0; $sum+= $_ for (split ' ', $str)[0.. +$k-1] ; print "$sum\n";} 0 1 3 6 10 15 15
or rather
DB<6> @split = (split ' ', $str) DB<7> for $k (0..6) { my $sum=0; $sum+= $_ for @split[0..$k-1]; prin +t "$sum\n";} 0 1 3 6 10 15 15
Cheers Rolf
(addicted to the Perl Programming Language and ☆☆☆☆ :)
Je suis Charlie!
*) and you shouldn't forget that LIMIT =-1 has even one more non-count meaning
²) couldn't find similarities in awk or sed, but the reason is most probably that 0 and undef are both false in Perl, and the designers wanted to keep the symmetry.
In reply to Re: discussion: What should split( /PATTERN/, EXPR, 0 ) return better? (split-LIMIT = count and/or flag)
by LanX
in thread discussion: What should split( /PATTERN/, EXPR, 0 ) return better?
by rsFalse
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |