У меня есть файл Wordpad, из которого я извлекаю две строки и сравниваю их.В этом случае они оба равны, но я не могу использовать выражение =~
для их оценки.
if($pin_list =~ /$lvl_list/){ do something}
Что я пробовал в режиме отладки:
- Обе строкиравно, как вычислено
eq
- Обе строки равны, как вычислено
==
- Вручную установите другую переменную в той же строке и затем выполните оператор
if
с новой переменной;if($pin_list =~ /$x/){do something}
.Эта попытка была успешной. - Выполнено
chomp(var)
на обеих строковых переменных несколько раз, а затем запустил код.FAILED - Убран возврат каретки через
$tst_pins =~ s/\n//g
в обоих вариантах.FAILED - Длина обоих переменных одинакова.
- Отпечатаны вручную как переменные, так и визуально проверены обе строки одинаковые.
У кого-нибудь есть идеи?Я подозреваю, что это связано с WordPad и, возможно, со скрытым символом, но не знаю, как его отследить.
tchrist -> Хороший вопрос.В этом случае строки равны, но это не всегда будет так.В обычных условиях я просто ищу, чтобы одна строка была подмножеством другой.
Для тех, кому это может быть интересно.Проблема решена.
У меня была строка, к которой я «присоединился» с помощью «+».Таким образом, строка выглядела следующим образом:
"1 + 2 + 3 + 4 + a + b + и т. Д."
Проблема "+" в конечном итоге стала проблемой.По предложению коллеги я выполнил субстрат и утащил одну из струн до точки оскорбления.Это произошло сразу после того, как он захватил «+».Затем я присоединился, используя пробел вместо «+», и все работает.
Использование других символов, кроме алфавита, окажет влияние, которое я до сих пор затрудняюсь объяснить, почему, когда все остальное говоритэто было равно.
Брет