in reply to Re^2: Problems With Hash Pointer Assignments
in thread Problems With Hash Pointer Assignments

That's not going to prove very useful, because then in the caller you'd need to assemble the branches again. delete can handle indirection: You can do something like

delete $node->{$doomed_key}; # recurse through remaining elements

That's fair enough: but you don't need to muck around with copies to achieve that. If in the caller code you have %Hash, and call your function with an argument \%Hash, any changes made indirectly to that data will show up in the caller. This is one of the main features of references.

It's a matter of style, so there will be differing opinions, but generally you can use my ($arg1, $arg2, ...) = @_ to get your parameters. (Sometimes shift is more appropriate, and sometimes even $_[0] etc. are the Right Thing -- but not typically.)

Replies are listed 'Best First'.
Re^4: Problems With Hash Pointer Assignments
by EchoAngel (Pilgrim) on Nov 30, 2004 at 21:21 UTC
    Ahhhh, I almost forgot about the @_ way ! I was making copies of the Hashes before for creating a function to replace key values within the hash dimensions.