# Программа чтения строк из файла reports и вывода их на экран
open(REPS, "<reports"); t Открытие файла reports только для чтения
while ($ldat = <REPS>) f Прочитать строку из файла reports
{
print $ldat; # Вывести последнюю из прочитанных строк на экран
}
close REPS; # Закрыть файл
Интерпретатор Perl располагает полным набором встроенных операторов, предназначенных для работы с каталогами. По принципам работы эти операторы напоминают файловые функции. Оператор opendir выполняет открытие каталога, это действие напоминает открытие файла. Каталогу назначается его дескриптор. Оператор readdir считывает первый элемент каталога, другими словами, он возвращает имена файлов и каталогов, находящихся в данном каталоге. Оператор closedir закрывает каталог, оператор chdir позволяет перейти в другой каталог, оператор mkdir предназначен для создания каталогов, а посредством оператора rmdir осуществляется удаление каталогов.
Переменные и выражения Perl. Переменные Perl могут быть числовыми или строковыми. Тип переменной зависит от контекста, то есть от способа ее использования. Объявлять переменные не нужно. Переменная, которой присваивается числовое значение и которая применяется в арифметических операциях, является числовой. Все остальные переменные считаются строковыми. Признаком переменной в программе, как и при работе в shell, служит символ $ перед ее именем.
Переменные в Perl используются в тех же операторах, что и в языке С, за исключением строковых операторов. Для сравнения строковых переменных применяются специальные операторы, те же, что и в интерпретаторе Bourne shell, а не стандартные операторы сравнения, которые употребляются только с числовыми переменными. Остальные операторы, например присваивания, используются как со строковыми, так и с числовыми переменными. В следующем примере переменной myname присваивается строковое значение «Larisa». Роль оператора присваивания играет символ = (табл. 3).
$myname = "Larisa";
Числовой переменной может быть присвоено числовое значение — целочисленное или с плавающей запятой. Все значения с плавающей запятой в языке Perl являются числами с двойной точностью.
$mynum = 45;
$price = 54.72;
Perl поддерживает и арифметические выражения. Он допускает выполнение всех стандартных арифметических операций, производимых при работе с другими языками программирования. Для группировки выражений надлежит употреблять круглые скобки (табл. 3). В качестве операндов могут выступать числовые константы, числовые переменные или другие числовые выражения. В следующих примерах переменной $mynum присваивается результат сложения двух чисел. Ее значение затем используется в другом арифметическом выражении, результат которого присваивается переменной $price.
$mynum = 3 + 6;
$price = (5 * ($num / 3);
Язык программирования Perl в полной мере поддерживает набор операций присваивания, которые используются в процессе работы с языками gawk и С. Операции ++ и — выполняют инкремент и декремент содержимого переменной. Операция += увеличивает, а операция -= уменьшает Значение переменной. Например, оператор i++ эквивалентен оператору i = i + 1, а оператор i += 5 соответствует i = i + 5. Операция инкремента широко применяется в циклах.
Не обязательно включать в строку значение, можно поместить в нее имя соответствующей переменной. В следующем примере значением переменной $nameinfo является строка «My name is Larisa \n»:
print "The number of items is $mynum \n"
$nameinfo = "My name is $myname \n"
Арифметическая операция
Описание
*
Умножение
/
Деление
+
Сложение
-
Вычитание
%
Модуль – результат представляет собой остаток от деления
**
Возведение в степень
Операции сравнения
Описание
>
Больше чем
<
Меньше чем
>=
Больше или равно
<=
Меньше или равно
= =
Равно
!=
Не равно
Операции инкремента и декремента
Описание
++
Увеличение значения переменной на единицу
- -
Уменьшение значения переменной на единицу
Операции арифметического присваивания
Описание
+=
Увеличение на определенное значение
-=
Уменьшение на определенное значение
Предположим, требуется, чтобы значением переменной стали данные, считанные из файла. Для этого нужно присвоить ей результат операции чтения. В следующем примере данные, считанные со стандартного ввода, присваиваются переменной $mydata:
$mydata = <STDIN>;
При считывании данных с клавиатуры во входную строку попадает и символ возврата . каретки. Возможно, вы не захотите, чтобы этот символ присутствовал в значении, присваиваемом переменной. Исключить его позволяет команда chomp, которая удаляет последний символ в строке, chomp $myinput. В следующем примере пользователь вводит свое имя, которое становится значением переменной $myname. Содержимое переменной $myname впоследствии выводится как часть строки. Прежде чем значение переменной $myname будет использовано в другой строке, из нее с помощью команды chomp удаляется символ возврата каретки.