> So, does that mean:
   > 
   > $a = ($a) ^+ @b;
   > print $a; # prints: 3
   > # $a = ($a,undef,undef) ^+ @b  ...

Yes.

   > My new confusion has to do with why does the hyperoperator expand $a to
   > ($a,$a,$a), but (1) to (1,undef,undef)? Oh, it's because hyper-ops
   > expand an arg if it is short on *dimensions* and not *elements*.

Bingo.

   > (1) gets expanded to (1,undef,undef) by auto-vivification of list
   > elements, and not by action of the hyper-op, correct?

Yes.

Damian

Reply via email to