我想在Perl程序中每行输入2个输入.
4 3
3 1
5 7
Run Code Online (Sandbox Code Playgroud)
我们可以通过这个声明在Ruby中做到这一点
a,b=gets.split.map &:to_i
Run Code Online (Sandbox Code Playgroud)
如果这是来自STDIN你需要逐行阅读,split每行按空格
while (<STDIN>)
{
my ($first, $second) = split;
# Do what you need with $first and $second
}
Run Code Online (Sandbox Code Playgroud)
这使用的默认分割,分割默认变量$_由(向其输入被分配)' ',它代表任何空间的任何量.所以split;上面是一样的split ' ', $_;.每个输入行末尾的换行符都被删除.
对于读取输入和菱形运算符, <>请参阅perlop中的I/O运算符,对于默认输入和模式搜索空间变量,$_请参阅perlvar中的常规变量.
检查用户输入是另一回事.要检查这些确实是数字,例如,一个好的工具looks_like_number来自核心模块Scalar :: Util.
我不知道你的节目中还有什么,但我建议总是从头开始
use warnings 'all';
use strict;
Run Code Online (Sandbox Code Playgroud)