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 *