我制作了以下剧本:
print "Will accept input until EOF";
while(defined($line = <STDIN>)){
print "Input was $line \n";
if(chomp(@line) eq "end"){
print "aha\n";
last;
}
}
我有两个问题:
end
时,我看不到循环中的aha
和break
last
等于break
右)? EOF
循环的while
键组合是什么?我认为ctrl+D
中Windows
是{{1}},但它不起作用。答案 0 :(得分:6)
您的脚本错过了use strict; use warnings;
。否则,您会注意到$line
不是@line
。
此外,chomp
不会返回更改的字符串,它会在适当的位置更改它并返回已删除的字符数。
在MSwin中, Ctrl + Z Enter 用作EOF。
更新:修正了EOF。
答案 1 :(得分:3)
我修改了你的代码:
use strict;
use warnings;
print "Will accept input until EOF";
while( my $line = <STDIN> ){
chomp $line;
print "Input was $line\n";
if( $line eq 'end'){
print "aha\n";
last;
}
}