Colin exemplifies:
 
   > $a = 1;
   > @a = (1);
   > @b = (1, 2, 3);
   > @c = (4, 5, 6);
   > 
   > $a = $a ^+ @b;
   > @a = @a ^+ @b;
   > 
   > print $a;  # 7

No. It will (probably) print: 4. Because:
   
        $a = $a ^+ @b;

becomes:

        $a = ($a,$a,$a) ^+ @b;

which is:

        $a = (1,1,1) ^+ (1,2,3);

becomes:

        $a = (2,3,4);

which is:

        $a = 4;


   > print @a;  # 7 or 2?

Prints: 2 2 3. Because:

        @a = @a ^+ @b;

becomes:

        @a = (1,undef,undef) ^+ (1,2,3);        # or (1,0,0) ^+ (1,2,3)

which is:

        @a = (2,2,3);


Damian

Reply via email to