1
我在調試完成了另一個腳本。簡化perl腳本
這是他做的片段:
...
open OUTPUT_FILE, "$makingOutDir/$inputFile";
$_ = <OUTPUT_FILE>;
while (defined($_)) {
$diff_text .= prep_for_output($_);
$_ = <OUTPUT_FILE>;
}
close OUTPUT_FILE;
print <<EOF
Test $num_test skipped: missing output file for matching
$diff_text
EOF
...
我在想,如果是能夠獲得相同的行爲簡化它這樣做是這樣的:
...
print "Test $num_test skipped: missing output file for matching";
open OUTPUT_FILE, catfile($makingOutDir, $inputFile) or die $!;
while (<OUTPUT_FILE>) {
my $diff = prep_for_output($_);
print <<EOF
$diff
EOF
}
close OUTPUT_FILE;
...
,或者在你的意見,有是更好更簡單的方法嗎?
帶'while'的第一個代碼顯然屬於OMFG類別。 –
@mpapec所以,第一個代碼是*糟糕*。其次是*通過*。你建議採取第三種方式,還是以第二種方式做的最好? –
第三個不會累積到'$ diff_text'的輸出中,而是立即輸出。如果這寫了你的一些同事告訴他,這樣的能力水平是預計從事perl不到一週的人。 –