in reply to Returning a hash and looping on the results.

push @{ $no_name_found { $user_name } }, $city;
The value associated with the key is an array reference, and so
my $value = $result->{$key}; print "User Name = $key - City: $value\n";
will output something that looks like
User Name = User - City: ARRAY(0x3eafa1c)
You might get something closer to what you expect with
my $value = $result->{$key}; local $" = ', '; print "User Name = $key - City: @$value\n";
or
my $value = $result->{$key}; print "User Name = $key - City: ", join(', ', @$value), "\n";
or something similar.

#11929 First ask yourself `How would I do this without a computer?' Then have the computer do it the same way.