我如何创建一个数组并自动填充perl中的元素

kam*_*mal 1 arrays perl

让我说我有一个数组:

@time = qw( 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 );

但值1..50取决于数组@arr的大小

所以不是声明@time手动,我怎样才能填充@time1 .. @arr,和可能的有元件的其他类型的像秒等时间

Sim*_*ker 5

这将@time使用以下值1进行初始化$#arr:

@time = (1..$#arr);
Run Code Online (Sandbox Code Playgroud)

我怀疑你可能想要0 .. $#arr而不是1 .. $#arr

并且可能有其他类型的元素,如TIME,以秒为单位等.

我不太清楚你在这里的意思,但你应该看看地图,通过转换另一个列表来生成值列表的一种方便方法.这可能就是你所追求的.