#!/usr/bin/perl use strict; use warnings; require Data::Dumper; Data::Dumper->import(qw(Dumper)); local $Data::Dumper::Purity = 1; local $Data::Dumper::Useqq = 1; local $Data::Dumper::Sortkeys = sub { my ($hash) = @_; return [(sort {lc $a cmp lc $b} keys %$hash)]; }; my %test = ( harry => 'foo', larry => { foo2 => 'aar', foo => 'bar', }, ); print Dumper(\%test);