我有一個簡單的程序爲什麼打印命令在STDIN之後執行,雖然之前被調用過?
use strict;
use warnings;
print "Enter a number:\n";
my $number1 = <STDIN>;
chomp $number1;
print "Enter another number:\n";
my $number2 = <STDIN>;
chomp $number2;
if ($number2 == 0) {
print "error: cnt divide by zero\n";
}
elsif (($number1 == 0) or ($number2 == 1)) {
print "$number1\n";
}
else {
my $div = $number1/$number2;
print "the result is: $div\n";
}
,但我不明白爲什麼打印(輸入號碼,然後輸入另一個號碼STDIN後顯示)。我得到下面的輸出
[612] perl test.pl
2
0
Enter a number:
Enter another number:
error:cnt divide by zero
的開始[從緩衝患?](http://perl.plover.com/FAQs/Buffering.html) – mob
不過,這是不尋常的標準輸出到交互式程序,其中輸出變爲被緩衝到終端。這是什麼操作系統? – mob
@mob在Windows7專業,perl的V5.8.8 – learningMatlab