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


  • ... Zhuang Li
    • ... Jeff Yoak
    • ... Uri Guttman
      • ... Aaron Sherman
        • ... Uri Guttman
    • ... Vladi Belperchinov-Shabanski
      • ... Alexandre Jousset
        • ... Суханов Вадим
          • ... Alexandre Jousset
    • ... Ton Hospel
      • ... Yitzchak Scott-Thoennes
    • ... Yitzchak Scott-Thoennes

Reply via email to