PERL CTRL-D不会停止用户输入

时间:2017-06-29 15:48:33

标签: perl user-input eof

学习perl我发现在这种情况下CTRL + D无法阻止用户输入。它在其他脚本中工作很可能是代码本身的问题。

我在互联网上阅读有关EOF的内容,但似乎任何事情对我都有用。

提前谢谢你,最好的问候。

#!/usr/bin/perl

print "Dime tus numeros\n";

@numb =<STDIN>;


$cua = 0;
$count = 0;
$array = "@numb";

$max = @numb; #tamaño array
$joined = join('',@numb); #metemos array en sacalar juntandolo sin espacios
$joined = $original; #guardamos el num original


$diff = 999 - $joined;

for ($i=0; i<=$max;$i++){ #es <= por que el arraylenght no empieza en 0

    $sumatotal += $numb[$i]; #vamos sumando cada elemento del array
}


print "Has añadido los numeros $array. \n";
print "Combiandose en $joined que sumados entre si dan:$sumatotal \n";
print "La diferencia entre $joined y 999 es $cua\n";

1 个答案:

答案 0 :(得分:0)

发现问题, 对于循环永远不会导致第二个错误声明的原因应该是$ i,这使得执行处于无限循环中。

for ($i=0; i<=$max;$i++)