my %foos; while (<>) { my ($foo, @bars) = split; $foos{$_} = $foo for @bars; } print("$foos{$_}\t$_\n") for sort { $a <=> $b } keys %foos;