Ссылки
Вы, возможно, заметили, что обе функции popup_menu() в предыдущем примере имеют весьма странные аргументы. Что означают [ 'пломбир', 'вишневое ', 'шоколадное' ] и [ 1. . 3 ] ? Квадратные скобки создают нечто такое, с чем Вы раньше не встречались: ссылку на анонимный массив . Это обусловлено тем, что функция popup_menu() в качестве аргумента рассчитывает получить именно ссылку на массив. Другой способ создания ссылки на массив — использовать перед именованным массивом обратную косую черту, например \@choices . Так, следующий фрагмент кода:
@choices = ('пломбир','вишневое','шоколадное');
print p("Сорт: ", popup_menu("flavor", \@choices));работает так же хорошо, как этот:
print p("Сорт: ", popup_menu("flavor",
['пломбир','вишневое','шоколадное']));Ссылки функционируют примерно так, как указатели в других языках, но с меньшей вероятностью появления ошибок. Они представляют собой значения, которые указывают на другие значения (или переменные). Ссылки Perl строго делятся на типы (без возможности приведения типов) и никогда не вызывают сбоев ядра операционной системы. Более того, если область памяти, на которую указывают ссылки, больше не используется, она автоматически возвращается в использование. Ссылки играют центральную роль в объектно-ориентированном программировании. Они применяются и в традиционном программировании, являясь основой для создания структур данных, более сложных, нежели простые одномерные массивы и хеши. Язык Perl поддерживает ссылки как на именованные, так и на анонимные скаляры, массивы, хеши и функции.
Так же, как методом \@массив можно создавать ссылки на именованные массивы и посредством указания [ список ] — на анонимные хеши, можно методом \%хеш создавать ссылки на именованные хеши, а методом { ключ1, значение1, ключ2, значение2, ... } — на анонимные.
<< Предыдущая страница Содержание Наверх Следующая страница >>
2000,
"Язык Perl. Создание CGI-скриптов на Perl."
. Использованы материалы книг:
Маслов
В.В.
Основы программирования на языке Perl
- М.: Радио и связь, Горячая линия - Телеком. 1999. - 144 c.: - ISBN
5-256-01356-4; Рэндал Шварц, Том Кристиансен
Изучаем Perl
: Пер. с англ. - К.:
Издательская группа BHV, 1998 - 320 c.: - ISBN 5-7315-0031-2.
Все пожелания - авторам:
Алексею Машьянову
,
Александру Яковлеву
.