我正在處理一個XML文件,並試圖檢查一行是否在整個文檔中包含指定的字符串。讀取文件似乎工作,並將字符串拆分成數組也是成功的。但我的代碼不打印包含指定字符串的行,我無法弄清楚什麼是錯的。我試過三種不同的方法來檢查字符串是否被包含(見下文)。 感謝您的幫助!檢查數組是否包含指定的字符串在Perl中
use strict;
use locale;
my($daten1, $daten2, @datenarray1, @datenarray2, $datenarray1, $datenarray2, $i, $j, $l);
open (FHIN, '0a_nur_Text_nur_795.xml') || die "Die Datei 0a_nur_Text_nur_795.xml konnte nicht geoeffnet werden: $!";
while(<FHIN>) {
$daten1=$daten1.$_; #Daten als String einlesen
}
close (FHIN);
$daten1 = lc $daten1;
@datenarray1= split(/\n/,$daten1);
for($i=0; $i<@datenarray1; $i++)
{
#if(grep { $_ eq '795.25-M'} $datenarray1[$i])
#if($datenarray1[$i] =~m/795.25-M/)
if(index($datenarray1[$i], '795.25-M') != -1)
{
print $datenarray1[$i];
}
}
該文件是一個XML文件。
該文件是什麼樣子?請[編輯]你的問題,並加入[mcve]。 –