gpt4 book ai didi

Perl:为什么 eq 会起作用,而 =~ 不起作用?

转载 作者:行者123 更新时间:2023-12-03 18:12:08 24 4
gpt4 key购买 nike

工作代码:

if ( $check1 eq $search_key ...

以前的“错误”代码:
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用于精确的字符串比较。

关于Perl:为什么 eq 会起作用,而 =~ 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6295029/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com