Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Документация, учебники по Perl.doc
Скачиваний:
3
Добавлен:
29.10.2018
Размер:
2 Мб
Скачать
☆

Типы операторов

В Perl существует большое количество типов операторов.

Арифметический - эти операторы отражают все, что вы изучали в средней школе. Они подразумевают элементарные арифметические действия.

Присваивания - эти операторы используются, чтобы присваивать значения переменным. С ними вы уже хорошо знакомы. Удивлены? Вот выражение из курса алгебры: X=5. Здесь оператор "=" является оператором присваивания.

Binding - эти операторы используются при сравнении строк и подробно мы их рассмотрим в главе 10 "Регулярные выражения".

Битовые - эти операторы затрагивают индивидуальные биты, из которых состоит значение. Например, значение "3" - это "11" в двоичном (битовом) представлении или ((1?2)+1). Каждый символ в бинарном представлении являет собой один бит, - наименьший участок компьютерной памяти, который вы можете изменять.

Запятая - этот оператор имеет две функции. Во-первых, он служит для разделения элементов списка (смотрите главу 2 "Числовые и стринговые литералы"), а во-вторых, он служит для разделения выражений (подробнее в главе 6 "Выражения").

Файловые-тестовые - эти операторы применяются для проверки некоторых условий относительно файлов. С помощью операторов этого типа вы можете, например, проверить существование того или иного файла, его тип, права доступа и еще много других вещей.

Операторы списка - операторы этого типа - довольно забавная вещь в Perl. Они похожи на вызовы функций в других языках. Эти операторы обсуждаются в главе 5 "Функции".

Логические - эти операторы олицетворяют логику "истина-ложь". Низкоуровневая основа логических операторов будет рассмотрена в главе 13 "Обработка ошибок и сигналов".

Числовых отношений - эти операторы помогут вам выяснить отношения одной числовой переменной к другой. Например, "5 больше 12?".

Postfix - "[]", "()", "{}" - ставятся в конце операторов. Вы уже видели применение этих операторов в предыдущей главе "Переменные", - на примере массивов и ассоциативных "хэш-" массивов. Круглые скобки также используются в списках.

Оператор диапазона - используется при создании диапазона значений в массивах. Также может быть использован в скалярном контексте.

Ссылка - ссылки используются для манипулирования переменными. Подробнее вы узнаете из главы 8 "Ссылки".

Строковой - оператор конкатенации (объединения) строк используется, как и следовало ожидать, для объединения строк в одну. Оператор повтора строки используется для повтора строки.

Отношение строк - используются для проверки отношений одной строковой переменной к другой. Например, ""abc" больше "ABC"?".

Ternary - используется чтобы произвести выбор между двумя возможными, основанными на заданном условии. Например, - "если автомобиль еще далеко от Пети, то Петя может переходить дорогу, - иначе он должен перебегать" :)))

Бинарные арифметические операторы

В Perl есть шесть бинарных арифметических операторов - это суммирование, вычитание, умножение, степень, деление и модуль. Вероятно, что вы можете быть не знакомы с оператором модуля, но все остальные вы, скорее всего, знаете. Как вы уже, наверное, догадались, бинарные операторы имеют два операнда. На то они (операторы), собственно, и бинарные :))) op1 + op2 суммирование op1 - op2 вычитание op1 * op2 умножение op1 ** op2 возведение в степень op1 / op2 деление op1 % op2 модуль

Пример: оператор возведения в степень (**)

Сей оператор используется для возведения числа в степень. Например, 2**4 эквивалентно конструкции 2*2*2*2, а равно все это счастье 16. Присвоим переменной $firstVar значение 4. Произведеем 4 в степень 3, используя оператор степени и присвоим результат переменной $secondVar. $firstVar = 4; $secondVar = $firstVar ** 3; print("$secondVar\n"); Программа выведет на экран: 64

Пример: оператор модуля (%)

Оператор модуля используется для нахождения остатка от деления между двумя целочисленными операндами. Например, 10%7 будет равно 3, потому что если мы 10 поделим на 7, то получим 1 и 3 в остатке. Задание: Создаем цикл, где переменная $index равна нулю. Если значение $index%10 равно нулю, то напечатать его через пробел. Каждую итерацию цикла переменная $index увеличивается на единицу. for ($index = 0; $index <= 100; $index++) { if ($index % 10 == 0) { print("$index "); } } Результатом выполнения программы будет: 0 10 20 30 40 50 60 70 80 90 100

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

Конструкции языка Perl "if" и "for" рассматриваются в главе 7 "Операторы управления".