我在变量$ k_name中传递了各种名称。我想看看一个字符串($ txt_string)是否包含存储在变量' $ k_name'中的名称。
我尝试过的代码:
if ($string =~ /$k_name/)
{
print TXTFILE "Got Name: ".$k_name."\r\n";
}
答案 0 :(得分:2)
如果“包含”是指真正的子字符串,则不需要正则表达式,只需使用index
:
if (-1 < index $txt_string, $k_name) {
print TXTFILE "Got name: $k_name.\n";
}
确保$k_name
不包含任何空格(最终换行符)。
顺便说一句,您的示例代码适用于以下值:
my $k_name = 'John';
my $txt_string = 'Joe Smith John Doe';