use strict; use warnings; use feature 'say'; use Tree::RB; my $tied = tie(my %capital, 'Tree::RB'); %capital = ( France => 'Paris', England => 'London', Hungary => 'Budapest', Ireland => 'Dublin', Egypt => 'Cairo', Germany => 'Berlin', ); say 'Countries starting from Germany:'; $tied->hseek('Germany'); while(my ($key, $val) = each %capital) { say "key: $key, val: $val"; } say "\nCountries in reverse:"; $tied->hseek({-reverse=> 1}); while(my ($key, $val) = each %capital) { say "key: $key, val: $val"; }