2012-12-30 24 views
-2

$a[1]始終以(開頭,$a[5]始終以)結尾。如何在使用前從變量中刪除字符?

有沒有辦法擺脫那些沒有添加更多的行?

while (my $line = <F>) { 

    if ($line =~ m/test /) { 
    my @a = split//, $line; 
     printf("%s %2s %4s %4s %.5s\n",$a[0], $a[1], $a[2], $a[5], $a[13]); 
    } else { 
     print $line; 
    } 
} 
+0

沒有增加更多的 「行」?你如何改變代碼的行爲而不改變它? – TLP

+0

如果你想提供一些樣本數據,這將會對我們有所幫助 – Borodin

+1

只是一個建議:有時候提供一些更多的「背景」來說明爲什麼要問某個問題會幫助人們更好地理解你要找的東西。就像,「我試圖發佈一個文檔,演示一些簡潔明瞭的代碼,並且需要關於...的建議」 – DavidO

回答

3

你可以使用substr

printf("%s %2s %4s %4s %.5s\n", $a[0], substr($a[1], 1), $a[2], substr($a[5], 0, -1), $a[13]); 
相關問題