XMLファイルを使用していますが、文書全体に指定されたStringが含まれているかどうかを確認しようとしています。ファイルの読み込みがうまくいくように見え、文字列を配列に分割することも成功しました。しかし、私のコードは、指定された文字列を含む行を印刷せず、何が間違っているのか理解できません。私はStringが含まれているかどうかをチェックする3つの異なる方法を試しました(下記参照)。 助けてくれてありがとう!配列に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]を含めてください。 –