John Ross wrote: > Thank you to all of you who responded to my question about pasing hashes > into a function. The -> operator did the trick. > My problem was that I thought once I passed the hash in, I could > dereference it That doesn't appear to work like I expected. > > sub mod_hash { > my $hash_ref = @_; > my %hash = %$hash_ref; > > > $hash{key} = 0; > > > etc,etc,etc. > > It appears that that just makes a local copy of the hash, then disposes of > that copy at the end of the subroutine. I think I kind of understand why > this doesn't work. > > Thanks again for you help, > > John >
change: my $hash_ref = @_; to: my ($hash_ref) = @_; but once you deference it and assign it to another hash like: my %hash = %$hash_ref; it's no longer acting on the hash ref. in other word, when you do: $hash{key} = 0; it will NOT affect $hash_ref anymore. david -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]