我正在尝试通过控制台提供数字并尝试打印它们。循环不断地执行。没有得到想要的结果

I'm trying to give numbers thru console and trying to print them. The loop is executing continuously. Not getting the desired result

随机给出数字作为输入。即使按 ctrl+d

后循环也没有退出
my $num;
my @numbers =();

print("\n enter the numbers :\n");
print("\n press ctrl+d to exit once done\n");

while (my $input = <>) {
    print(">");
    #chomp $input;
    $num =int($input);
    push(@numbers, $num);
}
print( " entered number are :@numbers\t");

要在 Windows 上发出 EOF 信号,请使用 Ctrl-Z,然后按 Enter。 (使用 <> 时需要在空行上使用它。)

要在 unix 上发出 EOF 信号,请在按 Enter 后立即使用 Ctrl-D[1]

如果这些都不起作用,则说明您的终端有问题。


  1. Ctrl-D 只是默认值。 stty -a 将显示当前设置。

    $ stty -a
    ...; eof = ^D; ...