2012-03-12 21 views

答えて

25

あなたはほとんどそこにいます。

print "Enter a word to look up: "; 
my $userword = <STDIN>; # I moved chomp to a new line to make it more readable 
chomp $userword; # Get rid of newline character at the end 
exit 0 if ($userword eq ""); # If empty string, exit. 
+0

優れた答えです。 0とeqの意味は何ですか?私はeqが等しいことを意味することを意味するが、0 – NewLearner

+1

[これはちょうど終了ステータスです](http://perldoc.perl.org/functions/exit.html) – resmon6

+0

私はちょうどこれを試しました。しかし、私は印刷物がSTDINからの読み込みの前に必ず実行されるわけではないことを知っています(言い換えれば、プログラムはそれなりの理由で停止したように見えます)。 – John

0

ファイル出力はデフォルトでバッファリングされます。プロンプトが非常に短いので、出力バッファにまだ座っています。 STDOUTでバッファリングを無効にするには、印刷前にこのコード行を追加します。

select((select(STDOUT), $|=1)[0]);