my @h; my @i= (0..1); @h[@i]= split //, $i[ 2 ]= "03"; print "(@h)\n"; __END__ Use of uninitialized value in join or string at P:\test\junk.pl line 4. Use of uninitialized value in join or string at P:\test\junk.pl line 4. (0 3 ) #### my %h; @h{ map{ int rand 100 } 1..4 } = 'A'..'D'; print 'Before:', %h, $/; @h{ 1 .. keys %h } = delete @h{ keys %h }; print 'After: ', %h, $/; __END__ Before:25A39D0C23B After: #### my %h; @h{ map{ int rand 100 } 1..4 } = 'A'..'D'; print 'Before:', %h, $/; my $keys = keys %h; @h{ 1 .. $keys } = delete @h{ keys %h }; print 'After: ', %h, $/; __END__ Before:6D59B60A75C After: 4C1D3A2B