in reply to Initialization of arrays

chester and svenXY have told you why it does not do what you want and how you can init the slice. Here is a quick way to init if you want to do it for a large number of indices.

use strict; use warnings; use Data::Dumper; my @x; @x[0..3] = map {1}0..3; # this map returns a list of 1's (4 elements) print Dumper(\@x); __END__ $VAR1 = [ 1, 1, 1, 1 ];

BTW, you had @x[1..3] I changed it @x[0..3]. I felt that is probably what you want as the array index starts with zero. If you are sure you don't need zero then you can modify my code.

-SK