sub move { my ($from, $to) = @_; my $temp = $row[$from]; if ($from < $to) { for ($from+1..$to) { $row[$_-1] = $row[$_]; } } else { for (0..$from-$to-1) { $row[$from-$_] = $row[$from-$_-1]; } } $row[$to] = $temp; }