| « Поставить закладку » « Сделать стартовой » | |||
|
|||
|
Шаблоны и все что с ними связанно
Оператор =~ и !=.Оператор =~ наиболее важный для работы с шаблонами. Он связывает переменную, которая стоит перед ним, и шаблоном стоящим после него (он в принципе ничего не выполняет, кроме того, что привязывает переменную к оператору, который в свою очередь выполняет определенные действия над ним). Оператор != работает с точностью до наоборот.Пример: $var =~ /w+/Здесь =~ привязывает переменной $var оператор /w+/, который выполняет поиск первого слова в этой переменной. Найденный результат заносится в переменную типа $цифра, надо сказать что в эту переменную заносятся выражения попадающие под шаблон в круглых скобках. К примеру, можно написать такую программу: $var = "Hello world!!!!"; $var =~ /Hello (w+)/; printf "Результат: $1 ";После запуска программы, она выдаст: Результат: worldЗдесь происходит поиск слова стоящего после слова Hello. Найденное слово заносится в переменную $1. Надо сказать, что оператор привязки может и не использоваться, тогда операторы будут брать данные из переменной $_. Пример: $_ = "Hello world!!!!"; /Hello (w+)/; printf "Результат: $1 ";Этот пример будет аналогичен вышеизложенному и результат будет точно такой же. Оператор поискаЯ решил рассказать про оператор поиска, перед тем как начну рассказывать о шаблонах, так как надо хоть иметь представление о том, где они используются, да к тому же я их уже использовал его в предыдущих примерах.Синтаксис: m/шаблон/параметргде место слово "параметр" ставятся параметры поиска:
Хотя вы могли заметить из предыдущих примеров, что параметр можно не использовать, также можно не использовать m, а просто заключить шаблон между обратными бэкслэшами (деление). Как уже было сказано выше, результат поиска заносится в переменную типа $цифра. Пример: $var = "Hello world!!!!"; $var =~ /(w+)(w+)/; printf "Результат: $1 $2 ";Результат: Результат: Hello worldВ случае удачного завершения операции возвращается true, а если ничего найти не удалось тогда false. К примеру: if ( $var =~ /+w/ )
{ print "Найдено!!!
"; }
else
{ print "Найдено!!!
"; }
ШаблоныПрежде всего надо сказать, что шаблоны подобны двойным кавычкам, то есть в них допускается использование переменных и специальные символы (например - новая строка)Шаблон не был бы шаблоном, если бы не метасимволы - символы обозначающие группы других символов. Имеются следующие метасимволы.
/Hello (w+)/;Здесь в круглых скобках используется метасимвол /w, он характеризует один алфавитно-цифровой символ. Знак '+' - модификатор, он характеризует число повторений метасимвола. Имеются следующие модификаторы:
Для полного понятия рассмотрим еще несколько дополнительных метасимволов:
Оператор заменыСинтаксис следующий:s/шаблон/подстановка/параметрОператор замены подобен оператору поиска, различие состоят в том, что у него используется еще один аргумент 'подстановка' - это выражение подставляется вместо найденного по шаблону выражения, так же существуют различия в параметрах:
$var =~ s/привет/hello/;здесь происходит замена слова 'привет' словом 'hello'. Также допускается использование метасимволов: var =~ s/привет w+/hello/;в данном случае произойдет замена слова 'привет' и следующего за ним слова на слово 'hello'. В случае удачного успешного завершения операции возвращается количество замен, а если ничего найти не удалось тогда false или 0. Оператор замены tr.Синтаксис:tr/таблица1/ таблица2/параметрыВ отличии от вышеизложенного оператора замены, этот оператор заменяет все символы выражения указанные в 'таблице1' на символы в 'таблице2'. Имеет следующие параметры:
$ var = "Hello All"; $ var =~ tr/l/L/; print "$var ";Получим: HeLLo ALL. Рубрика: Perl для наничанющих
Вышел MySQL 5.1.30, первый стабильный рели....
После публикации 29 тестовых версий анонсирован первый стабильный релиз MySQL 5.1, пригодный для промышленной эксплуатации и обеспечивающий увеличение производительности для "тяжелых" SQL запросов, по сравнению с MySQL 5.0, примерно на 15-20%. Главные новшества появившиеся в MySQL 5.1:
Подробнее... |
Рубрика: MySQL
| Добавлено: 28.11.2008
Тестирование параллельных программ.
Тестирование параллельного программного обеспечения представляет собой более сложную задачу по сравнению с тестированием последовательной программы. Программист должен знать о подводных камнях при тестировании параллельного кода, имеющихся методологиях и инструментарии.
Подробнее... |
Рубрика: Тестирование
| Добавлено: 28.11.2008
Архитектура AMD64 (EM64T).
Аннотация. В статье кратко рассматривается архитектура AMD64 компании AMD и ее реализация EM64T компании Intel. Описаны особенности архитектуры, ее возможности, достоинства и недостатки.
Подробнее... |
Рубрика: Архитектура AMD
| Добавлено: 27.11.2008
Остальные статьи: |
Цитата дня (все,добавить):
|
Realcoding.NET
© 2003-2008 |
Контакты |
Реклама на сайте
|