http://www.perlmonks.org?node_id=1026310


in reply to Re^2: adding items, but with interim results
in thread adding items, but with interim results

> but it presents a stumbling block to which it is perhaps unwise to expose a novice

I second this!

Especially because state has some implementation issues besides needing to be activated with use feature.

a simple my $z outside the map has the same effect and is backwards compatible.

DB<104> @x=1..4 => (1, 2, 3, 4) DB<105> use feature state; my @y = map { state $z = 0; $z += $_ } @x +; => (1, 3, 6, 10) DB<106> my $z; my @y = map { $z += $_ } @x; => (1, 3, 6, 10)

and if the scope of $z is of importance, use blocks to limit it.

DB<107> my @y; { my $z; @y = map { $z += $_ } @x; } => (1, 3, 6, 10) DB<109> my @y = do { my $z; map { $z += $_ } @x } => (1, 3, 6, 10)

Cheers Rolf

( addicted to the Perl Programming Language)