0

我有一个整数值my $reading = 1200;

我有一个数组my @DigitField = "000000000";

我想用 ' 值替换数组右侧的 4 个元素$reading,并且我想使用 Perl 的 length 函数以编程方式执行此操作,如下所示。

我试过了。

my @DigitField = "000000000";
my $reading = 1200;
splice @DigitField, length(@DigitField) + 1, length $reading, $reading;
print @DigitField;

但我得到

0000000001200

我希望字符串保持九个字符宽。

还有哪些其他方法可以替换 Perl 字符串数组的一部分?

4

1 回答 1

5

我认为您可能会感到困惑- @sigil 表示@DigitField的是一个数组变量。字符串不是数组。

我想你想格式化数字:

my $reading = 1200;
my $digitfield = sprintf('%09d', $reading);
print $digitfield, "\n";

\n在打印的末尾添加了一个,这添加了一个换行符。根据程序的上下文,您可能希望也可能不希望在决赛中使用它。

于 2013-07-03T22:09:14.247 回答