2012-03-12 65 views

Trả lời

25

Bạn sắp hoàn tất.

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

Câu trả lời hay. Bạn có thể vui lòng giải thích cho tôi những gì hiện 0 và eq có nghĩa là? Tôi bây giờ mà eq có nghĩa là bằng nhưng không hoàn toàn chắc chắn về 0 – NewLearner

+1

[Đó chỉ là trạng thái thoát] (http://perldoc.perl.org/functions/exit.html) – resmon6

+0

Tôi vừa thử điều này (dựa trên câu trả lời này), nhưng tôi thấy rằng các bản in không phải lúc nào cũng thực hiện trước khi đọc từ STDIN (vì vậy nói cách khác, chương trình có vẻ như nó dừng lại vì không có lý do gì) - có cách nào xung quanh đó không? – John

0

Đầu ra tệp được đệm theo mặc định. Vì dấu nhắc quá ngắn nên nó vẫn nằm trong bộ đệm đầu ra. Bạn có thể tắt tính năng đệm trên STDOUT bằng cách thêm dòng mã này trước khi in ...

select((select(STDOUT), $|=1)[0]); 
Các vấn đề liên quan