>>133です。
突っ込もうとしているログのデータが配列内に無かった場合のみ、という判定方法で正常に動作しました。
ありがとうございました。

$word =~ s/\x81\x40/\t/g;
@words = split (/\t/, $word);
foreach $temp (@line) {
 $temp =~ s/\s*$//;
 @data = split (/\t/, $temp);
 if (index ($data[1] . $data[2] . $data[6], $words[$_]) > -1) {
  if (!grep $temp eq $_, @new) {
   push (@new, $temp);
  }
 }
}