Re: [MacPerl] using references with hashes

[email protected] (Joshua Juran) Wed, 3 Aug 2005 18:21:14 -0400
Newsgroups perl.macperl
Message-ID <[email protected]>
On Aug 3, 2005, at 10:01 AM, Louis Pouzin wrote:

> To avoid cluttering scripts with intricate expressions I tried 
> references,
> with mixed results. e.g. instead of:
>
>    delete $H{one}{two}{three}[0]{four} if exists 
> $H{one}{two}{three}[0]{four};
>
> I'd prefer to write:
>    $ref = \$H{one}{two}{three}[0]{four};
>    delete $$ref if exists $$ref; # or somesuch.
>
> While I could get each, keys, and values, out of references, I haven't 
> figured
> out a working syntax for exists, delete, and growing hashes.
>
> Perhaps someone could suggest a right way. Thanks.

my $ref = \$H{one}{two}{three}[0];
# Either of these should work
delete %$ref{four} if exists %$ref{four};
delete $ref->{four} if exists $ref->{four};

But there may be a clearer way to design the code in the first place.

Josh

-- 
Joshua Juran
Metamage Software Creations - Mac Software and Consulting
http://www.metamage.com/

                * Creation at the highest state of the art *