use strict; use warnings; use Data::Dumper; my %personal_info_of = ( Larry => { Name => 'Larry Wall', Str => 'Camelot 1', EMail => 'larry@dromedary.com', }, Bray => { Name => 'Braden Mailloux', Str => 'kapellenstr. 1', EMail => 'brayshakes@gmail.com', }, ); for my $hacker (sort keys %personal_info_of) { print dump_personal_info_of( $hacker ); } exit( 0 ); sub dump_personal_info_of { my ($goodfella) = @_; return q() . "Personal information of $goodfella:\n" . Dumper( $personal_info_of{ $goodfella } ) ; } #### Personal information of Bray: $VAR1 = { 'Str' => 'kapellenstr. 1', 'EMail' => 'brayshakes@gmail.com', 'Name' => 'Braden Mailloux' }; Personal information of Larry: $VAR1 = { 'Str' => 'Camelot 1', 'EMail' => 'larry@dromedary.com', 'Name' => 'Larry Wall' };