无法填充Perl字符串数组而不增加数组长度

时间:2013-07-03 22:05:19

标签: perl

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

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

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

我试过了。

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

但我正在

0000000001200

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

有什么其他方法可以替换部分Perl字符串数组?

1 个答案:

答案 0 :(得分:5)

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

我想你想format这个数字:

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

我在打印结尾处添加了\n,这会添加newline。根据您的计划的背景,您可能会或可能不会想到这一点。