in reply to HoH problem

What constitutes elegant?

use strict; use warnings; my %hoh = ( FILENAME1 => { A => {weight => 3000, intensity => 2}, B => {weight => 4000, intensity => 3}, }, FILENAME2 => { D => {weight => 2000, intensity => 7}, C => {weight => 5000, intensity => 3}, }, FILENAME3 => { C => {weight => 1000, intensity => 4}, A => {weight => 6000, intensity => 3}, }, ); my @lines = map {$_->[1]} sort {$a->[0] <=> $b->[0]} map { my $fn = $_; map { my $h = $hoh{$fn}{$_}; [$h->{weight}, "$fn $_ $h->{intensity}: $h->{weight}"] } keys %{$hoh{$fn}} } keys %hoh; print join "\n", @lines;

Prints:

FILENAME3 C 4: 1000 FILENAME2 D 7: 2000 FILENAME1 A 2: 3000 FILENAME1 B 3: 4000 FILENAME2 C 3: 5000 FILENAME3 A 3: 6000

DWIM is Perl's answer to Gödel