Вход/Регистрация
Введение в Perl
вернуться

Маслов Владимир Викторович

Шрифт:

Слова в программе не поддающиеся ни какой интепретации воспринимаются как строки в кавычках поэтому рекомендуется имена меток и указателей файлов писать большими буквами для избежания возможного «конфликта» с зарезервированными словами.

В Перл есть возможность вставлять текст документа прямо в программу.

Так называемый "here-doc" (здесь текст) метод. Обозначается символами << за которым идет слово-ограничитель.

Пример:

print <<EOF; # Все строки до EOF – текст для печати.

Эй вы трое, идите двое сюда!

Полковник Савонькин.

EOF

Конструкторы списков.

Список – множество значений перечисленных через запятую и заключенных в круглые скобки. В списковом контексте список возвращает последний элемент списка.

Пример:

@var1 = (1, 2, 'привет', 1.2); # Присвоить значение элементам.

где

$var1[0] = 1,

$var1[1] = 2,

$var1[2] = 'привет'

$var1[3] = 1.2

$var1 = (1, 2, 'привет', 1.2);

а здесь $var1 = 1.2 т.е. последнее значение списка.

Допускается применять в списке другие списки, но в полученном списке уже невозможно различить начало и конец включенных списков.

Пример:

@s1 = (1, 2, 3); # Первый список

@s2 = (6, 7, 8); # Второй

@s = (0, @s1, 4, 5, @s2, 9, 10); # Включаем списки @s1 и @s2

print @s; # Результат: 012345678910 – значения без пробелов.

Список без элементов обозначаестя как и называется нуль-списком.

Списковое выражение можно употреблять как имя массива, но при этом его нужно брать в круглые скобки.

Пример:

print ('январь','февраль','март')[1];

Результат: февраль

Список может быть присвоен списку только если каждый элемент в списке в левой части выражения допустим по типу списку в правой части.

Пример:

($a, $b, $c) = (1, 2, 3); # $a = 1, $b = 2, $c = 3

Присваивание списков в скалярном контексте возвращает количество присвоенных элементов.

Пример:

$x = (($a, $b, $c) = (1,2)); # Результат $x=2

В случае присваивания списка хешу список разсматривается как пары: ключ-значение.

Пример:

%дни_месяца = ('январь', 31, 'февраль', 30);

Результат: $дни_месяца{январь} = 31, $дни_месяца{февраль} = 30

Для удобства записи можно использовать выражение с => .

Пример:

%дни_месяца = (

январь => 31,

февраль => 30,

);

Тип typeglobs

В Перл используется специальный внутренний тип typeglog для записи массива всех переменных. Такие массивы начинаются с символа '*'. Их удобно применять для передачи ссылок на массивы и хеши, но в данной версии Перл уже есть возможность применять ссылки поэтому это делается очень редко. Единственно где это необходимо так это для работы со ссылками на файлы. Например если вам нужно создать локальную ссылку на файл в процедуре то это лучше сделать так:

sub new_sub

{ local *IN; # Ссылка на файл

open (IN, «test») || return undef; # Открыть файл. Возврат при ошибке.

.........

return;

}

Более подробно это описано в главе Ссылки.

Встроенные переменные Перл

Описанные в данной главе переменные имеют в Перл специальные значения.

Они обозначаются несколько непривычно для «глаза» программистов т.к. состоят обычно только из дву символов причем первый это '$' символо с которого начинаются имена всех переменных и произвольный часто не буквенно-цифровой символ. Если вы хотите пользоваться их «нормальными» буквенными синонимами то вам нужно указать в начале программы:

use English;

Точно так же если вы захотите пользоваться переменными и методами текущего указателя файлов вы можете написать:

use FileHandle;

после этого можно можно просто писать:

метод указатель выражение

или

указатель -> метод(выражение)

Ниже приводятся имена как в короткой так и в длинной (словесной) форме.

Некоторые из встроенных переменных имеют доступ тоько на чтение поэтому изменить их значение просто не возможно.

  • Читать дальше
  • 1
  • ...
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: