#!/usr/bin/env perl use v5.36; no warnings q/experimental::for_list/; use List::AllUtils qw/pairs unpairs/; my %h = map { ( $_, rand ) } ('a' .. 'z'); for my ($k, $v) ( unpairs (sort { $a->key cmp $b->key } pairs %h) ) { say "$k => $v"; }