my $hr1 = {}; my $hr2 = {}; my $hr3 = {"$hr1" => $hr1, "$hr2" => $hr2}; my @values = sort values %$hr3; print "@values\n"; foreach my $v (sort values %$hr3) { print "$v\n"; delete $hr3->{$values[1]}; # some_function() }