stones.gif (8081 байт)

Ссылки

Вы, возможно, заметили, что обе функции 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, ... } — на анонимные.

<< Предыдущая страница Содержание Наверх Следующая страница >>

stones.gif (8081 байт)
2000, "Язык Perl. Создание CGI-скриптов на Perl." . Использованы материалы книг: Маслов В.В. Основы программирования на языке Perl - М.: Радио и связь, Горячая линия - Телеком. 1999. - 144 c.: - ISBN 5-256-01356-4; Рэндал Шварц, Том Кристиансен Изучаем Perl : Пер. с англ. - К.: Издательская группа BHV, 1998 - 320 c.: - ISBN 5-7315-0031-2.
Все пожелания - авторам: Алексею Машьянову , Александру Яковлеву .