Re: Unknown level of hash

[email protected] (Jeff Yoak)
Newsgroups perl.fwp
Message-ID <[email protected]>
On Mon, 2005-03-28 at 15:06, Zhuang Li wrote:
> Hi, given an array: @a = ('E1', 'E2', ..., 'En'); 
> 
>  
> 
> Is there an easy way, hopefully one liner, to do the following without a
> loop? If not, will Perl support this in Perl 6?
> 
>  
> 
> $hash->{E1}->{E2}->...->{En} = 1;

use Data::Dumper;

my @x = qw/a b c d e/;
my $h = {};
my $s = join '}->{',@x;
eval '$h->{'.$s.'}=1';

print Dumper $h;


You asked this on a "fun with Perl" mailing list, but something about
your tone implies that you think this may be a useful, good thing to do
rather than simply fun.  Please know that I intend this only for fun. 
:-)

Cheers,
Jeff
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.