Вопрос № 37078: Здрысть, уважаемые эксперты!
Пишу GCI-скрипт на perl. Внутри скрипта есть две строковых переменных $str1 и $str2. Одна из них читается из файла, другая от юзера. Слова вводятся на английском без пробелов и спецсимволов. В обоих переменных слово о...
Вопрос № 37.078
Здрысть, уважаемые эксперты!
Пишу GCI-скрипт на perl. Внутри скрипта есть две строковых переменных $str1 и $str2. Одна из них читается из файла, другая от юзера. Слова вводятся на английском без пробелов и спецсимволов. В обоих переменных слово одинаковое, но, когда пишу
if($str1 ne $str2) {...}, то этот ифец срабатывает, говоря о том, что строки разные, хотя они одинаковые. В чём гвоздь? Как лечить?
Отвечает: Лучников Юрий Владимирович
Здравствуйте, Дрищев Василий!
А гвоздь в том, что текстовый файл имеет вид: string1
string2
...
То есть вы читаете файл со спец-символами, а строка, введенная вручную, не имеет их...
Как лечить? Отфильтруйте символы конца строки функцией chomp().
Пример: chomp $str1, $str2;
if($str1 ne $str2) {...},
Успехов!
Приложение:
Ответ отправил: Лучников Юрий Владимирович (статус: Студент)
Ответ отправлен: 09.03.2006, 14:19 Оценка за ответ: 5 Комментарий оценки: Ух, спасибо большое!!! Коротко и ясно!
Отвечает: Muad Dib
Здравствуйте, Дрищев Василий!
обычно if("$str1" ne "$str2") {...}, а разница скорее всего в спецсимволах.
Ответ отправил: Muad Dib (статус: 6-ой класс)
Ответ отправлен: 09.03.2006, 14:21 Оценка за ответ: 5