我有一个写字板文件,从中提取两个字符串并进行比较。在这种情况下,它们都是相等的,但我不能使用=~
表达式来评估它们。
if($pin_list =~ /$lvl_list/){ do something}
我在调试模式下尝试过的内容:
- 两个字符串相等,由
eq
- 两个字符串相等,由
==
- 手动将另一个变量设置为相同的字符串,然后
if
使用新变量执行语句;if($pin_list =~ /$x/){do something}
. 这次尝试是成功的。 - 对两个字符串变量执行
chomp(var)
了几次,然后运行代码。失败的 $tst_pins =~ s/\n//g
删除了两个 var 上的回车。失败的- 两个变量的长度相同。
- 手动打印两个 var 并目视验证两个字符串是相同的。
有人有什么想法吗?我怀疑这与写字板有关,也可能与隐藏字符有关,但不知道如何追踪它。
tchrist -> 好问题。在这种情况下,字符串是相等的,但情况并非总是如此。在正常情况下,我只是在寻找一个字符串作为另一个字符串的子集。
对于那些可能感兴趣的人。问题解决了。
我有一个字符串,我用“+”“加入”。所以字符串如下所示:
“1+2+3+4+a+b+等”
'+' 最终成为问题。在一位同事的建议下,我执行了一个 substr 并将其中一个字符串削减到违规点。它发生在它捕获'+'之后。然后我使用空格而不是“+”加入,一切正常。
使用除字母表之外的不同字符会产生影响,我仍然无法解释为什么当其他所有内容都说它是平等的时候。
布雷特