根据下面的代码,如果我在运行时输入“bibhu”,我应该打印一次 bibhu
并且 j
应该是 1。但它没有发生。为什么我得到 j=0
?
print "enter\n";
$find=<STDIN>;
$j=0;
@lines=qw(bibhu prasanna behera kuni shun jbjdkj);
foreach (@lines) {
if ($_ =~ /$find/) {
print "$_\n";
$j=$j+1;
}
}
print "$j\n";
最佳答案
您需要从输入中去除换行符,只需调用 chomp
:
chomp($find = <STDIN>);
没有那个,如果你在提示符下输入“bibhu”,
$find
将等于 "bibhu\n"
。关于regex - 有人能指出我在这个 perl 程序中犯的错误吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36616574/