【问题标题】:Perl User InputPerl 用户输入
【发布时间】:2013-12-03 05:07:09
【问题描述】:

如何检测 Ctrl+D 以跳出 Perl 中的循环?

while (1){

   $input = <STDIN>;

   print $input; 

   #This is where I would check for CTRL+D
   #last if ($input equals to CTRL+D); EXIT LOOP

   if($input > 0){
    print " is positive\n";
   }

   elsif($input < 0){
    print " is negative\n";
   }

   else { print " is zero\n"; }
}

【问题讨论】:

    标签: perl input


    【解决方案1】:

    使用

    while (defined($input = <STDIN>)) {
        ...
    }
    

    当用户输入Ctrl-D时,&lt;STDIN&gt;会返回undef

    更一般地说,你可以这样做

    while (defined($input = <>)) {
        ...
    }
    

    您的程序将从@ARGV 中命名的任何文件中读取输入,如果没有命令行参数,则从&lt;STDIN&gt; 中读取。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-21
      • 1970-01-01
      • 1970-01-01
      • 2017-12-03
      • 2016-10-02
      • 2015-04-26
      • 1970-01-01
      相关资源
      最近更新 更多