Другие способы
Другие способы
В предыдущих разделах рассмотрены основные способы создания ссылок: . О применение операции " \ " к объекту ссылки;
Эти способы применяются наиболее часто в тех случаях, когда возникает необходимость в использовании ссылок. Но существуют и другие источники появления ссылок, о которых следует упомянуть для полноты изложения.
Конструктор анонимной подпрограммы
Мы уже использовали в примерах подпрограммы, не дожидаясь их систематического изучения. Поэтому можем рассмотреть в этой главе такой вид ссылки, как ссылка на анонимную подпрограмму.
Ссылка на анонимную подпрограмму может быть создана при помощи ключевого слова sub, за которым следует блок — последовательность операторов, заключенная в фигурные скобки:
$sub_ref = sub { print "Привет!\n");
В результате операции присваивания в переменную $sub_ref заносится адрес, по которому размещается код анонимной подпрограммы. В данном примере подпрограмма состоит из единственного обращения к функции print, выводящей строку "Привет!".
Пример, иллюстрирующий данный вид ссылки, будет рассмотрен далее в этой главе.
Ссылка, создаваемая конструктором объекта
В версию 5.0 языка Perl была добавлена поддержка объектно-ориентированного программирования. Основой объектно-ориентированного подхода являются понятия класс и объект.
(Классы и объекты рассматриваются .)
Понятие "объект" реализовано в языке Perl таким образом, что объект становится доступным в программе только через ссылку на него. Для создания объекта используется специальная подпрограмма — конструктор, которая, в свою очередь, применяет для этого встроенную функцию bless о. Конструктор возвращает ссылку на объект. Таким образом, это еще один способ порождения ссылок, без которого не обойтись тем, кто использует объектно-ориентированный подход в Perl.
Ссылки на данные типа typeglob