Similar presentations:
Первый скрипт на Perl
1.
PERL2.
Первый скрипт на Perl!• Имена скалярных
переменных (то есть не
массивов и не хэшей)
начинаются со знака
доллара;
• Функция shift возвращает
очередной аргумент
скрипта.
• Функция print() выводит
строку, переданную в
качестве аргумента.
3.
Типы переменных• В Perl существует три основных типа
переменных: скаляры (числа и строки),
массивы — подобно тем, что используются
в Pascal или C (иногда массивы еще
называют векторами), и хэши
(ассоциативные массивы).
• Скаляры мы уже использовали в
предыдущем примере.
4.
Вот еще несколько примеровзадания скаляров.
5.
Строки• Точка означает операцию конкатенации;
• если в строке содержатся имена переменных, на их
место подставляются значения;
• с помощью обратного слэша можно вставлять символы
новой строки (\n),
• табуляции (\t),
• кавычки (\"),
• сам обратный слэш (\\)
• знак доллара безо всякой подстановки переменных (\$)
и многое другое.
• Если строка в одинарных кавычках, символы в ней
трактуются «как есть», без подстановки переменных и
тд.
6.
Как и PHP, Perl интерпретирует скаляры, какчисла или как строки в зависимости от
операции. Все просто:
7.
• Правила преобразования из строки в числои наоборот тут те же, что и в PHP:
8.
• Кстати, для объявления длинных строксуществуют специальные операторы — q и
qq:
9.
Работа с массивамиВ 5 строке создаем массив
@arr, состоящий из 4-х
элементов.
Затем выводим второй элемент
(строка 6). Нумерация
элементов начинается с
нуля, поэтому для вывода
второго по счету элемента
используется индекс 1.
Затем заносим в конец массива
значение переменной $a
(функция push, строка 7), и
тут же извлекаем и выводим
его (функция pop, строка 8).
10.
Правило• имена массивов начинаются с «собаки», а
не доллара (запомнить не сложно —
соответствующие символы похожи на
первые буквы английских названий типов: $
— scalar, @ — array).
• При обращении к элементу массива
использовался знак доллара, потому что
элемент массива является скаляром.
11.
• Еще в этом скрипте мы вызываем функцииprint и push без скобок. В perl при вызове
функции, везде, где это не вызывает
неопределенности, скобки можно опустить.
12.
• Для объявления массива, элементамикоторого являются строки без пробелов,
существует специальный оператор — qw:
13.
ХЭШИ• Хэши похожи на массивы, но элементы в
хэше не упорядочены. При этом в качестве
ключа, по которому производится доступ к
элементу, могут использоваться строки.
14.
Имена хэшей начинаются со знака процента, для обращения к элементуиспользуются фигурные скобки (а не квадратные, как в случае с массивами).
Если имя ключа заранее известно, можно указывать его без кавычек (строка 10).
Кстати, переменные $test, @test и %test — это совершенно независимые друг от
друга переменные разного типа.
15.
Условные операторы16.
“IF- ELSE” и “IF- ELSE-IF”17.
Правило• Elsif может повторяться несколько раз,
• else использовать не обязательно,
• фигурные скобки опустить нельзя.
18.
оператор unless19.
Правило• Unless можно использовать в сочетании с
elsif и else, однако никакого «elsunless» в
Perl нет.
20.
Оптимизация кода• В Perl есть возможность уменьшить объем
кода, если в случае выполнения условия
должна быть выполнена только одна строка
кода.
21.
22.
условный оператор «?»• Работает он аналогично конструкции if-else,
только внутри выражений:
23.
Операторы сравнения• производящие
сравнение в числовом
контексте
• производящие
сравнение в
24.
25.
Циклы for, foreach, while/until,do..while/until
В круглых скобках через
точку с запятой
записывается:
• Код, выполняемый перед
началом цикла.
• Условие, проверяемое
перед началом (а не в
конце, как думают
многие) каждой итерации.
Если оно ложно,
выполнение цикла
завершается.
• Код, выполняемый после
каждой итерации.
26.
Правило• Как и в случае с условными операторами, в
циклах опускать фигурные скобки нельзя
27.
Цикл foreach• Тело цикла foreach
выполняется для
каждого элемента
массива, указанного в
скобках.
• Важная особенность
foreach — в переменную
$i не копируется
элемент массива @arr.
Переменная $i в теле
цикла — это и есть сам
элемент массива.
28.
• Что делает данныйкод?
29.
foreach можно использовать дляработы с хэшами
30.
В Perl цикл foreach имеет короткуюформу:
31.
Циклы while, until и do32.
По аналогии с операторами if и unless,существует сокращенная форма записи
циклов:
33.
Оператор две точки• Оператор .. (две точки) принимает два
операнда и возвращает массив, элементы
которого представляют собой все числа от
аргумент 1 до аргумент 2 включительно,
упорядоченные по возрастанию.
34.
Операторы last и next• Операторы last и next в Perl аналогичны
операторам break и continue в языке
программирования C, только они короче на
1 и 4 символа соответственно. Примеры их
использования:
35.
Со вложенными циклами немного сложнее — тутнужно использовать метки: