Я сделал следующий сценарий:Почему я не могу завершить цикл while?
print "Will accept input until EOF";
while(defined($line = <STDIN>)){
print "Input was $line \n";
if(chomp(@line) eq "end"){
print "aha\n";
last;
}
}
У меня 2 вопроса:
- Почему, когда я печатаю
end
в консоли я не могу видетьaha
иbreak
из цикла (last
является равным отbreak
справа)? - Что такое
EOF
ключ-комбинация для остановки циклаwhile
? Я думал, что этоctrl+D
вWindows
, но это не работает.
Вы не должны написать его как 'в то время как (определение ($ строка =)) {...} '; Perl добавит для вас ['defined'] (http://perldoc.perl.org/functions/defined.html" perldoc -f defined "). (Начиная с 5.12 он будет делать это для ['readdir'] (http://perldoc.perl.org/functions/readdir.html« perldoc -f readdir »)) –
@BradGilbert: +1 для подсказки! Благодаря! – Cratylus