2014-08-28 53 views
-1

我在變量$ k_name中傳入各種名稱。我想查看一個字符串($ txt_string)是否包含存儲在變量'$ k_name'中的名稱。我已經試過Perl:包含變量值模式的字符串

代碼:

if ($string =~ /$k_name/) 
{ 
    print TXTFILE "Got Name: ".$k_name."\r\n"; 
} 
+1

看到http://perldoc.perl.org/functions/index.html – user2864740 2014-08-28 12:32:40

+2

問題是什麼? – choroba 2014-08-28 12:33:09

+0

@choroba「爲什麼它不工作?」 * {快速離開} * – user2864740 2014-08-28 12:33:53

回答

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'; 
相關問題