my @foo = (1..15); my $n = 5; my $i = 2; my @bar = @foo[map {my $r = $_ % $n; $_ - $r + (($r + $i) % $n)} (0..$#foo)]; print "@bar";