push @a,1 while 1; # this is worse as it is geometric rather than linear @a = qw(1); for(;;) {push @a,@a}