loop {
my $word = prompt '> ' ;
say $word;
}
正确的方法exit
if / when而不是打印单词我按Ctrl + D?
答案 0 :(得分:7)
我对Perl 6的熟悉程度不如Perl 5,但Perl 5方法似乎有效:
loop {
my $word = prompt '> ' ;
last if not defined $word;
say $word;
}
这可能更惯用:
while (defined my $word = prompt '> ') {
say $word;
}
(如果没有defined
运算符,循环将在空输入上终止。)
答案 1 :(得分:4)
带一个小助手子:
sub not-done(\value) {
value but True if value.defined
}
然后你可以把你的循环写成:
while not-done prompt("> ") -> $word {
say $word
}