perl的字符串相等问题
时间:2011-08-09
来源:互联网
在perl里面两个字符串相等判断用eq。。
如今我写了:
$a="abc";
open IN,"< file"; ## file里面只有“abc”一行
while (<IN>)
{
if ($_ eq $a)
{
print “match”."\n";
}
}
这里问题出现了,系统没有报错,但是 if 判断没有执行。。。
这是为什么?我当初觉得是$_变量问题,我把$_给了$temp,再用$temp与$a做eq判断,但是结果还是一样。
在这个while里面怎样判断当前输入的行与之前设定好的行相等?
跪求高手指点吖~~
如今我写了:
$a="abc";
open IN,"< file"; ## file里面只有“abc”一行
while (<IN>)
{
if ($_ eq $a)
{
print “match”."\n";
}
}
这里问题出现了,系统没有报错,但是 if 判断没有执行。。。
这是为什么?我当初觉得是$_变量问题,我把$_给了$temp,再用$temp与$a做eq判断,但是结果还是一样。
在这个while里面怎样判断当前输入的行与之前设定好的行相等?
跪求高手指点吖~~
作者: 年年年 发布时间: 2011-08-09
没人?!自己顶一个!
这里有另外一种方法:
$a="abc";
$b=quotemeta($a);
open IN,"< file"; ## file里面只有“abc”一行
while (<IN>)
{
if(/^$b$/)
{
print “match”."\n";
}
}
但是我还是想知道为什么$_的不行?
这里有另外一种方法:
$a="abc";
$b=quotemeta($a);
open IN,"< file"; ## file里面只有“abc”一行
while (<IN>)
{
if(/^$b$/)
{
print “match”."\n";
}
}
但是我还是想知道为什么$_的不行?
作者: 年年年 发布时间: 2011-08-09
学习路过
作者: liusongguang 发布时间: 2011-08-09
$_ 里面有末尾的换行符。
if前加
复制代码
把换行符吃掉即可
if前加
- chomp;
作者: alick 发布时间: 2011-08-09
4# alick
谢谢!
谢谢!
作者: 年年年 发布时间: 2011-08-09
绝对支持,顶顶顶
作者: rainshine1190 发布时间: 2011-08-09
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28