in reply to accessing an anonymous array

I am sorry to say that "anonymous array" is actually a misnomer. It's not an array, it's a reference to an array.

These two snippets are actually equivalent:

my $r = ['a', 'b', 'c'];
my $r; { my @a = ('a', 'b', 'c'); $r = \@a; }

So when you try using \[1] to get a reference to the anonymous array, you're ending up with a reference to an array reference.

Drop the backslashes n front of the open square brackets: you don't need them. And start to work it out from there.