我有一个写字板文件,我从中提取两个字符串并进行比较。在这种情况下,它们都是相等的,但我不能用=~
表达式来评估它们。为什么字符串不匹配?
if($pin_list =~ /$lvl_list/){ do something}
我在调试模式下曾尝试:
- 两个字符串是相等的
eq
- 通过
==
- 为评估手动设置另一个变量相同的字符串两个字符串是相等的评估然后用新变量执行
if
语句;if($pin_list =~ /$x/){do something}
。这次尝试是成功的。 - 几次对两个字符串变量执行
chomp(var)
,然后运行代码。失败 - 在两个变速箱上通过
$tst_pins =~ s/\n//g
删除回车。失败 - 两个变量的长度是相同的。
- 手动打印两个字符串并视觉验证两个字符串是相同的。
任何人有任何想法?我怀疑这是与写字板有关的事情,也许是一个隐藏的字符,但不知道如何追踪它。
tchrist - >好问题。在这种情况下,字符串是平等的,但情况并非总是如此。在正常情况下,我只是寻找一个字符串作为另一个字符串的子集。
对于那些可能感兴趣的人。问题解决了。
我有一个字符串,我'加入'与'+'。因此字符串看上去像以下:
“1 + 2 + 3 + 4 + A + B +等”
的 '+' 结束了该问题。在一位同事的建议下,我执行了一个子任务,并削减了其中一个字符串到违规点。它发生在刚刚捕获'+'之后。然后我使用空格而不是'+'加入,并且一切正常。
使用字母以外的其他字符会产生影响,我仍然无法解释为什么其他人都说它是平等的。
布雷特
如果他们是'eq',你为什么不用这个? – tchrist 2011-04-14 18:44:16
您能否为您的解决方案创建一个答案,而不是将其添加到您的问题中?这样,其他人可以更容易地看到解决方案。你甚至可以接受你自己的答案,并收集一些重点,如果你进入了! :) – 2011-04-14 19:02:46