2013-07-03 29 views
0

我有一個整數值my $reading = 1200;在不增加數組長度的情況下填充Perl字符串數組時遇到問題

我有一個數組my @DigitField = "000000000";

我要更換的右手與$reading的值的陣列的4個元素,我想這樣做編程方式使用Perl的長度函數,如下所示。

我試過了。

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

,但我發現

0000000001200

,我希望字符串寬留九個字符。

什麼是一些其他的方式來取代部分的Perl字符串數組?

回答

5

我想你可能會感到困惑 - @印記表示@DigitField是一個數組變量。一個字符串不是一個數組。

我想你想format數量:

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

我添加了一個\n到打印的結束,這增加了newline。根據你的程序的上下文,你可能會或可能不會想要這個在最後。

+0

是的,我搞混了。謝謝。 – octopusgrabbus