学习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";
答案 0 :(得分:0)
发现问题, 对于循环永远不会导致第二个错误声明的原因应该是$ i,这使得执行处于无限循环中。
for ($i=0; i<=$max;$i++)