http://qs321.pair.com?node_id=472889


in reply to Re^3: Puzzled by array
in thread Puzzled by array

Ah thanks :) But please bear with this nagging question: why doesn't \@letters point to the changed @letters inside the loop?

Update

Maybe I understand now...see modified code below:

use strict; my $some_word = 'race'; my @letters = split //, $some_word; my (@array1, @array2); # Added this to show that the same $letter_ref is pushed into @array2 my $letters_ref = \@letters; for (1..@letters) { my @new = @letters; push (@array1, \@new); push (@array2, $letters_ref); my $myshift = shift @letters; push(@letters, $myshift); }
Update 2

My above reasoning was wrong. See my reply to neniro at Re^2: Puzzled by array