my $N = 50; my $M = 4; my @a=(1..$N); my $x=-1; # because Perl arrays start at 0 while (@a) { $x = ($x+4) % scalar(@a); print splice(@a, $x--, 1), "\n" };