> > $a = @b;
> >
> > 2. Pull a reference to @b (like Perl5's "$a = \@b")
>
> Yep. Scalar context eval of arrays, hashes, and subs produces a reference.
Perfect.
> > Similarly, how about:
> >
> > %c = @d;
> >
> > Does this:
> >
> > 1. Create a hash w/ alternating keys/vals like Perl5
> > 2. Do the equivalent of "%c = \@d" in Perl5
> > 3. Or the mystery meat behind Door #3
>
> This one's still less-than-certain. Definitely either 1 or 3 though.
The more I was thinking about it, it seems like #1 makes a good amount of
sense. If you think about it, you're talking likes-to-likes. When you assign
scalars, you're copying the single values. When you're copying list data
structs, you're copying multiple values.
%a = @b; # same as Perl 5
@c = %d; # same as Perl 5
$e = $f; # same as Perl 5
$g = @h; # Perl 5 $e = \@c
The real trick is what to do with these:
%a = (%b, %c);
%d = (@e, @f);
Or, horrors:
%i = ($j, %k, @l);
($m, @n, $o) = (@p, $q, %r);
Jeez, this is getting complicated. ;-)
-Nate