這是perl中的一個初學者最佳實踐問題。我是這個語言的新手。問題是:Perl:使用基於索引的方法循環輸入行
如果我想處理來自程序的輸出行,如何以特殊方式格式化第一行?
我想的兩種可能性:
1)一種標記變量,一旦執行循環第一次被設置。但它會被評估爲每個週期。 BAD解決方案
2)基於索引的循環(如「for」)。然後我會在i = 1開始循環。這個解決方案好得多。問題是我怎麼做?
我剛剛發現用while循環(<>)構造的代碼。
在這裏你可以看到更好的:
$command_string = "par-format 70j p0 s0 < " . $ARGV[0] . "|\n";
open DATA, $command_string or die "Couldn't execute program: $!";
print "\t <div>          |-- <strong>Description</strong></div>\n";
while (defined(my $line = <DATA>) ) {
chomp($line);
# print "$line\n";
print "\t <div>          |   -- " . $line . "</div>\n";
}
close DATA;
也請在這裏糾正任何代碼不要猶豫,這是我的第一個Perl的詩。
謝謝!
有趣的是,用&代替 不起作用。我聞到一個錯誤是SO。 – 2009-05-21 14:38:58
任何人都可以給我一個類似的TIE解決方案,我可以使用fifo! – alvatar 2009-05-21 14:45:56
警告:現在有U + 200e字符來欺騙SO的格式化程序不吸吮。複製粘貼上述代碼將不太可能按預期工作,並且可能會在您的頁面上打印* literal * : – 2009-05-21 20:10:43