如何在Perl中将所有数组元素减去1

4

我可以帮你将一个包含数值的数组中的每个元素都减1,并保存在原来的位置。

例如:

chop $tve_005;
@words = split (/,/, $tve_005);

现在@words包含如下内容:

524210
1713409
311919
1422134
16658312

实际上,需要在其余代码中使用的值为:(始终减1)
524209
1713408
311918
1422133
16658311

如何从同一数组中减去并保存。

2个回答

10

除了Pradeep的解决方案,还有一些字符更短:

#!/usr/bin/perl

my @words = (524210,1713409,311919,1422134,16658312);

$_-- for @words;

5

试试这个

#!/usr/bin/perl

my @words = (524210,1713409,311919,1422134,16658312);

@words = map { $_ - 1 } @words;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接