我有两个数组,一个包含来自错误日志的长字符串,第二个包含单词列表。我需要查找,其中一个词是否与任何错误字符串匹配。我想使用 index()。
我所拥有的是:@park 是一整页,一行一行。我剪下第 1 行并将其放入 $err1 @omit 是从文件中读取的单词列表。包含“Kein Zugriffsrecht”、“约束违反”等内容。我从数组中逐行获取(用 处理chomp())并将其放入 $fehler。
while (@park){
my $i = $#park;
$zeile1 = splice (@park,$i,1);
@foo1 = split(";", $zeile1);
$err1 = $foo1[1];
for my $b (0..$#omit){
$prob1 = 0;
$fehler = $omit[$b];
# $fehler="constraint violation";
$prob1 = index ($err1, $fehler);
...
}
Run Code Online (Sandbox Code Playgroud)
关键是,它$prob1 = index ($err1, $fehler); 总是给出 -1(未找到)。如果我设置$fehler为“违反约束”之类的东西,就像上面的注释行一样, index() 将给出正确的数字。什么可能导致这种行为?问候