Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Perl: разработка для Web > Не работает проверка условия |
Автор: stalker2000 20.1.2014, 13:07 | ||
Добрый день. Стоит простейшая задача: проверить урл и в случае несоответствия заданному перенаправить в нужное место. Для начала всё только на экран, без редиректов. Пишу:
Результат: всегда выполняется блок if. Подскажите, в чём ошибка? ![]() |
Автор: krypt3r 20.1.2014, 13:15 |
ne — оператор сравнения двух строк. Он не работает с регулярками. PS. Не вижу use strict |
Автор: Bulat 20.1.2014, 13:36 |
вместо ne, ставь !~ - то же самое что и ne, и !=, и <>, только для регэкспов |
Автор: stalker2000 20.1.2014, 13:48 |
Помогло, спасибо. Тяжковато вначале, в трёх соснах путаешься ))) Пошел читать про use strict ![]() |
Автор: svlary 12.8.2014, 19:20 | ||||||||
У меня задача ещё проще.... Но тоже - не работает проверка условия! Я в полном непонимании... Итак, есть простейший условный оператор:
Внутри CGI скрипта. Даже если строки совершенно одинакоые, То if говорит, что они РАЗНЫЕ!. Функция no_name (...) создаёт html документ, в котором генерируется такой код:
Даже самым невооружённым глазом видно, что строки - совершенно одинаковые! Почему, при этом, услови ne есть истина - я не понимаю. Есть маленькая зацепка... Переменную $wrk1 скрипт выбирает из запроса html тега <forma>,
а переменная $wrk2 инициализируется константой из самого текста скрипта:
Следует заметить, что и сам скрипт и html форма набраны в кодировке utf-8 и эта кодировка явнв прописана и на страничке формы и на генерируемой скриптом страничке. Что я только не делал!!! В разных комбинациях использовал use locale; / use utf8; / use encoding 'utf8'; / use feature 'unicode_strings'; / use Encode 'decode_utf8'; и тд. Ставил chomp и убирал... Использовал lc() и \L... Ничего не помогает! В чём может быть дело ?! |
Автор: Bulat 13.8.2014, 08:16 |
так может $wrk ne $wrk2 ?? |
Автор: svlary 13.8.2014, 17:06 |
БЛ-И-И-И-И-Н !!!! Верно говорят, что труднее всего искать самые глупые ошибки ![]() |