加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl:当=?没有时,为什么eq会工作?

发布时间:2020-12-15 23:30:35 所属栏目:大数据 来源:网络整理
导读:工作代码: if ( $check1 eq $search_key ... 以前的’buggy’代码: if ( $check1 =~ /$search_key/ ... 单词(在$check1和$search_key中)应该是相同的,但为什么第二个单词不会一直返回true?这些有什么不同? $check1是通过拆分获得的. $search_key在(“wor
工作代码:

if ( $check1 eq $search_key ...

以前的’buggy’代码:

if ( $check1 =~ /$search_key/ ...

单词(在$check1和$search_key中)应该是相同的,但为什么第二个单词不会一直返回true?这些有什么不同?

$check1是通过拆分获得的. $search_key在(“word”)之前或在运行时输入:(<>),然后两者都被传递给子程序.

还有一个问题是,我可以在没有任何隐藏问题的情况下转换以下内容吗?

if ($category_id eq "subj") {

我想能够说:=?/ subj /以便“主题”仍然是真的.

提前致谢.

解决方法

$check1 =?/ $search_key /不起作用,因为$search_key中的任何特殊字符都将被解释为正则表达式的一部分.

而且,这确实测试$check1是否包含子串$search_key.你真的想要$check1 =?/ ^ $search_key $/,虽然由于上面提到的原因它仍然是不正确的.

更好地坚持使用eq进行精确的字符串比较.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读