in reply to Re^3: a reference by any other name...
in thread a reference by any other name...

@array1 = 0..9; *array2 = *array1;

That nukes the entire *array2 glob. I think you want

@array1 = 0..9; *array2 = \@array1;

Makeshifts last the longest.