Have I got this correct?
state @a = foo(); # Implicit START block around call and initialisation
state (@a) = foo(); # Implicit START block around call and initialisation
(state @a) = foo(); # foo() called every time, assignment every time
There's this small bit of fun that in the Perl 5 optree, the second and third
are identical. Although curiously these are not:
state(@a, @b) = foo();
(state @a, state @b) = foo();
(former has private flags set on a pushmark op, so not clear why the
analogous case for the single array is not like this. I realise that @b will
always be () in Perl 5)
Nicholas Clark