use strict; my $some_word = 'race'; my @letters = split //, $some_word; my (@array1, @array2); for (1..@letters) { my @new = @letters; push (@array1, \@new); push (@array2, \@letters); my $myshift = shift @letters; push(@letters, $myshift); } print "array1 contains:\n"; foreach my $aref (@array1) { print "@$aref\n"; } print "\n\n"; print "array2 contains:\n"; foreach my $aref (@array2) { print "@$aref\n"; }