Perl 使用Ctrl-D字符终止输入无效

Perl 使用Ctrl-D字符终止输入无效,perl,cygwin,Perl,Cygwin,我试图编写一个Perl脚本来接受用户输入。我是 在Windows8和Cygwin上 当我尝试运行代码时,它期望用户输入,但当我尝试按Ctrl-D时,程序仍然尝试接受输入,而不是发出输入结束的信号 下面是我的代码。为什么会这样?有没有一种方法可以克服这个问题而不用离开Cygwin?我不想按Ctrl-Z或Ctrl-C,因为我不想停止程序的执行 #!/usr/bin/perl while ( $line = <> ) { print $line; } #/usr/bin/per

我试图编写一个Perl脚本来接受用户输入。我是 在Windows8和Cygwin上

当我尝试运行代码时,它期望用户输入,但当我尝试按Ctrl-D时,程序仍然尝试接受输入,而不是发出输入结束的信号

下面是我的代码。为什么会这样?有没有一种方法可以克服这个问题而不用离开Cygwin?我不想按Ctrl-Z或Ctrl-C,因为我不想停止程序的执行

#!/usr/bin/perl

while ( $line = <> ) {
    print $line;
}
#/usr/bin/perl
而($line=){
打印$行;
}

在Windows中,您必须使用CTRL-Z而不是CTRL-D。

谢谢您的回复。但这不会停止我的程序吗?Windows上的CTRL+Z充当EOF控制代码,因此它被用来表示文件结束。它不会停止您的程序。奇怪的是,您在请求之前甚至没有尝试Ctrl-Zhelp@Jason如果您使用的是cygwin构建的Perl,那么您应该使用Ctrl-d,因为在cygwin这样的unix系统上,它会发出EOF信号。但是您似乎正在使用Windows版本的Perl(ActivePerl?草莓Perl?)。Ctrl-Z在Windows中发出EOF信号。