279.16K
Category: programmingprogramming

Первый скрипт на Perl

1.

PERL

2.

Первый скрипт на 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.

оператор unless

19.

Правило
• 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 и do

32.

По аналогии с операторами if и unless,
существует сокращенная форма записи
циклов:

33.

Оператор две точки
• Оператор .. (две точки) принимает два
операнда и возвращает массив, элементы
которого представляют собой все числа от
аргумент 1 до аргумент 2 включительно,
упорядоченные по возрастанию.

34.

Операторы last и next
• Операторы last и next в Perl аналогичны
операторам break и continue в языке
программирования C, только они короче на
1 и 4 символа соответственно. Примеры их
использования:

35.

Со вложенными циклами немного сложнее — тут
нужно использовать метки:
English     Русский Rules