我输入了一些程序来刷新我的 Perl 知识。特别是 IF 和 Else-Case 我很感兴趣。Perl 如何识别输入为空?我用“==”和“eq”检查了输入,但我的程序总是说“你没有输入任何内容”。
#!/usr/bin/perl
# input line
$input_line = "";
# terminal input
print "Input:";
$input_line = <STDIN>;
# input verification
print "Your input was: ", "$input_line";
print "\n";
# decider terminal input
if ($input_line == "" or $input_line eq "")
{ print "You have typed nothing!";
print "\n"; }
else
{ print "Typing nothing is bad!";
print "\n"; }
如果我输入“Hello”,输出是:
Input:Hello
Your input was: Hello
You have typed nothing!
如果我输入Hello,就会有输入。 如果我什么也没输入,那么输出应该写“您什么也没输入。 Else-Case 也应该出现。
始终将
use warnings;
添加到您的代码中,以获取有关其不起作用的更多信息:
参数“”在 ... 行 ... 的数字 eq (==) 中不是数字, 1号线.
一种方法是检查字符串输入的
length
:
use warnings;
use strict;
# input line
my $input_line = "";
# terminal input
print "Input:";
$input_line = <STDIN>;
chomp $input_line;
# input verification
print "Your input was: ", "$input_line";
print "\n";
# decider terminal input
if (length $input_line == 0) {
print "You have typed nothing!";
print "\n";
}