工作代码:
if ( $check1 eq $search_key ...
Run Code Online (Sandbox Code Playgroud)
以前的'buggy'代码:
if ( $check1 =~ /$search_key/ ...
Run Code Online (Sandbox Code Playgroud)
单词(in $check1和$search_key)应该是相同的,但为什么第二个单词不会一直返回true?这些有什么不同?
$check1是通过分裂获得的.$search_key要么在("word")之前输入,要么在运行时输入:(<>),然后将它们传递给子程序.
还有一个问题是,我可以在没有任何隐藏问题的情况下转换以下内容吗?
if ($category_id eq "subj") {
Run Code Online (Sandbox Code Playgroud)
我希望能够说:=~ /subj/所以"主题"仍然是真的.
提前致谢.
Bla*_*iev 12
$check1 =~ /$search_key/不起作用,因为任何特殊字符都$search_key将被解释为正则表达式的一部分.
而且,这确实测试是否$check1包含子串 $search_key.你真的想要$check1 =~ /^$search_key$/,虽然因为上面提到的原因它仍然是不正确的.
更好地坚持eq进行精确的字符串比较.
| 归档时间: |
|
| 查看次数: |
381 次 |
| 最近记录: |