my $popCt = 1; my $markers = 2; #### sub tester { my @holder = @{$HoH{$newcounter}{'holder'}}; my @ind = @{$HoH{$newcounter}{'individual'}}; my %HoHMarker = %{$HoH{$newcounter}{'marker'}}; #### my $newcounter = 1; tester($newcounter); #... sub tester { my ($newcounter) = @_; ... } #### my $args = { arg1 => $arg1, arg2 => $arg2, arg3 => $arg3, }; tester($args); ... sub tester{ my ($args) = @_; ... } #### sub tester { my @holder = @{$HoH{$newcounter}{'holder'}}; die "tester: holder is empty" unless @holder; #### my $success = tester(); die "tester failed" unless $success; #### my %user_data_lookup; ... my $safe_input = validate($user_input); push @{$user_data_lookup{$safe_input}}, @some_array; ...