in reply to Comparing two approaches to nested data creation

If you use the x operator, the left argument is evaluated only once, and then copied. Watch:
my $c = 0; sub f {print ++ $c, "\n";} my @f = (f) x 3; __END__ 1
f is called just once, not three times.

So, in your case, you end up with three references to the same anon array.

Abigail