http://www.insightbook.co.kr/post/3814 에 나와 있는 문제 풀이
Perl의 문법중에 배열 slice문법을 사용해서 한방에 여러 요소들을 치환하는 테크닉을 썼음
#!/usr/bin/env perl
my @arr = 1..8;
print "before @arr\n";
rotate(\@arr, 2, 6, 7);
print "after @arr\n";
sub rotate {
my ($a, $s, $t, $k) = @_;
$k %= ($t-$s+1);
@$a[$s+$k..$t, $s..$s+$k-1] = @$a[$s..$t];
}
결과
before 1 2 3 4 5 6 7 8
after 1 2 6 7 3 4 5 8