我知道可以声明这样的数组:
my @array = ( 5 .. 10 );
相当于:
my @array = ( 5, 6, 7, 8, 9, 10 );
但是当增量值大于1时会有类似的简写,例如
my @array = ( 5, 10, 15, 20, 25 );
my @array = ( 100, 200, 300, 400, 500 );
答案 0 :(得分:22)
my @array = map 5*$_, 1..5;
和
my @array = map 100*$_, 1..5;
答案 1 :(得分:4)
更一般地说:
my $start = 5;
my $stop = 25;
my $increment = 5;
my @array = map $start+$increment*$_, 0..($stop-$start)/$increment;
或:
chomp(my @array = `seq $start $increment $stop`);
(开个玩笑。)
答案 2 :(得分:2)
你也可以使用Damian Conway的List::Maker。
use List::Maker;
my @list = <0..100 x 5>;