sub rotate { my ($h, $count) = @_; my $node = $count < 0 ? 'prev' : 'next'; for (1 .. abs($count)) { $h = $h->{$node}; } return $h; }