my @list = (); my @dummy = qw(one two three four five six seven eight nine ten); while(scalar @dummy) { unshift @list, scalar @dummy; pop @dummy; }