RaFaL has answered the question you asked, but it should be mentioned that you are not using symbolic references in your code. \%hash is a hard reference.
On Thu, Oct 18, 2001 at 09:33:06AM -0400, Ross Howard wrote: > populate_hash (\%hash1, "HEY1", "value1"); > populate_hash (\%hash2, "HUMM", "HAH"); [snip] > sub populate_hash ($$\%) { > my $hash = $_[0]; > my $key = $_[1]; > my $value = $_[2]; > > ${%{$hash}}{$key} = $value; > } The prototype ($$\%) dictates the subroutine gets three arguments: a scalar, a scalar, and a hash that is enreferenced. Your example calls, however, are: hash reference (which is a scalar), scalar, scalar. The only thing preventing this from becoming a fatal error is that your prototype is declared too late, which perl warns you about if you have warnings turned on. Perhaps you meant: sub populate_hash (\%$$); populate_hash(%hash1, "HEY1", "value1"); populate_hash(%hash2, "HUMM", "HAH); sub populate_hash (\%$$) { ... } Michael -- Administrator www.shoebox.net Programmer, System Administrator www.gallanttech.com -- -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]