Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Дополнительную информацию об использовании регулярных выражений можно найти практически в любой



книге по Peri (например: Рэндал Шварц и Том Кристиансен <Изучаем Peri> (Randal L. Schwartzh and Тот

Christiansen. Learning Peri); <Programming Peri> by Larry Wall, Tom Christiansen & Randal Schwartz и <Mastering

Regular Expressions> by Jeffrey Friedl).

$address =- /(\w[\w\-.]<)\@([\w\-. ]+)/: $cleanaddress = $1.'0'.$2;

Все, что сопоставится выражению в первых круглых скобках, будет занесено в переменную $1, во вторых -в

$2, и т.д. Переменные $1 и $2 будут уже считаться обеззараженными, и мы можем смело конструировать из них

Наш искомый адрес. Да, эти переменные тоже были получены из пользовательских данных, но Peri считает, что

Раз их значение получено из регулярного выражения, значит, они прошли нашу проверку и можно о них не

Беспокоиться.

Чтобы быть уверенными до конца, вставим в наш код проверку: if($address=-/(\w[\w\-. ]-)\@([\w\-.

]+)/) <

$cleanaddress = $1. '@'.$2; }

else {

warn "Wrong address: $address": ^выдавая сообщение об ошибке на stderr $cleanaddress ="": }

Тем самым, правда, отсекаются вполне законные имена типа mama&[email protected]. Менее строгая проверка

вида address=7(\S+)\@([\w.-]+)/ пропустит и метасимволы, сведя на нет все паши усилия но обеззараживанию.

У вас может возникнуть желание обеззаразить переменную следующим образом: $a(j(jress=~ (.*);

$cleanaddress=$1;

Что ж, вольному - воля. Вы только что отключили все проверки и взяли всю ответственность на себя.





Дата публикования: 2014-11-04; Прочитано: 320 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...