#!/usr/bin/perl use strict; use warnings; use Data::Dumper qw(Dumper); my $existing_users = { 'user1' => { 'UserName' => 'user1', 'Ignore' => 'N', 'LastAccessDate' => '0000-00-00' }, 'user2' => { 'UserName' => 'user2', 'Ignore' => 'N', 'LastAccessDate' => '0000-00-00' }, }; print Dumper send_to_sub($existing_users); print Dumper send_to_sub_2(\%{$existing_users}); print Dumper send_to_sub_3(\%$existing_users); sub send_to_sub { return @_; } sub send_to_sub_2 { return @_; } sub send_to_sub_3 { return @_; } __END__ $ perl test.pl $VAR1 = { 'user1' => { 'UserName' => 'user1', 'Ignore' => 'N', 'LastAccessDate' => '0000-00-00' }, 'user2' => { 'UserName' => 'user2', 'LastAccessDate' => '0000-00-00', 'Ignore' => 'N' } }; $VAR1 = { 'user1' => { 'UserName' => 'user1', 'Ignore' => 'N', 'LastAccessDate' => '0000-00-00' }, 'user2' => { 'UserName' => 'user2', 'LastAccessDate' => '0000-00-00', 'Ignore' => 'N' } }; $VAR1 = { 'user1' => { 'UserName' => 'user1', 'Ignore' => 'N', 'LastAccessDate' => '0000-00-00' }, 'user2' => { 'UserName' => 'user2', 'LastAccessDate' => '0000-00-00', 'Ignore' => 'N' } };