Читаем Язык программирования Perl полностью

Ссылки, о которых до этого шла речь, называются жесткими ссылками. Жесткая ссылка (hard reference) - это программный объект, хранящий в памяти адрес референта и тип его значения. В Perl имеется еще одна разновидность ссылок, называемых символическими ссылками. Символическая ссылка (symbolic reference) - это строковое значение, которое хранится в скалярной переменной и представляет из себя имя глобальной переменной:

$referent1 = 'Референт'; # объект ссылки $symlink = 'referent' . 1; # символическая ссылка # доступ по символической ссылке к значению объекта print ${$symlink}; # будет выведено: 'Референт'

Символические ссылки используются значительно реже и бывают нужны, когда требуется во время выполнения программы программно создавать имена переменных в виде строк, чтобы затем получать доступ к их значениям. Использование символических ссылок может приводить к трудно обнаруживаемым ошибкам, поэтому лучше запрещать использование в программе символических ссылок с помощью прагмы use strict 'refs'.

В этой лекции изучены ссылки и средства построения с помощью ссылок динамических структур данных. Ссылки дают программисту мощные и гибкие средства доступа к программным объектам. Поэтому многие механизмы работы с данными в Perl организованы с использованием ссылок, и мы будем обращаться к ссылкам в следующих лекциях при изучении подпрограмм, библиотечных модулей и объектного программирования.

<p>Лекция 12. Подпрограммы</p>

В этой лекции будут изучены подпрограммы - единицы структурирования программного кода на Perl, которые также имеют свои особенности: в формах определения и вызова, в способах передачи и обработки параметров, в вариантах возврата значений. Кроме того, в этой лекции будут рассмотрены принципы определения видимости имен переменных в Perl-программе.

Цель лекции: получить знания, необходимые для разработки на Perl структурированных модульных программ, учитывая своеобразие реализации в нем механизма подпрограмм. Научиться использовать на практике особенности работы с подпрограммами. Изучить способы задания области видимости переменных.

Для моделирования в программе внешнего мира программист создает необходимые сущности в виде переменных, подобно тому как человек обозначает существительными предметы и явления. Подпрограммы позволяют программисту создавать собственные глаголы для именования серии повторяющихся действий или для замены длинной последовательности действий одним идентификатором. Определение подпрограммы напоминает определение термина в словаре, например: "сортировать - расположить элементы набора данных в определенной последовательности путем их сравнения и перестановки". Затем все, кто знает определение термина, могут пользоваться им для указания выполнить соответствующее действие, например: "сортировать список книг по возрастанию названий".

Кроме того, подпрограммы - это средство структурирования программы. Довольно часто программный комплекс разрабатывается методом "сверху вниз", когда сначала определяются крупные части программы и порядок их выполнения без уточнения деталей реализации. Затем в ходе проектирования выясняются способы взаимодействия этих частей и фиксируются их интерфейсы (входные и выходные данные). После чего каждая крупная часть программного проекта подвергается аналогичной декомпозиции на более мелкие составляющие. В результате такого процесса "пошагового уточнения" (stepwise refinement) определяются программные компоненты в виде подпрограмм, выполняющих определенные действия. После чего пишется код подпрограмм, реализующий конкретные алгоритмы. Ну и конечно, применение подпрограмм дает возможность повторного использования (code reuse) готовых и проверенных программ, которые оформляются в виде библиотек модулей проекта.

В процедурных языках программирования традиционно выделяют две разновидности подпрограмм: функции, возвращающие сформированное в результате своей работы значение, и процедуры, не возвращающие значения и вызываемые ради побочного эффекта. В Perl существует только одна разновидность структурных единиц - подпрограммы, всегда возвращающие значение.

Перейти на страницу:

Похожие книги

Информатика: аппаратные средства персонального компьютера
Информатика: аппаратные средства персонального компьютера

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

Владимир Николаевич Яшин

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT
Цифровой журнал «Компьютерра» № 24
Цифровой журнал «Компьютерра» № 24

ОглавлениеБольшие новостиMicrosoft BizSpark: поиски инвесторов и менторов Автор: Григорий РудницкийNASA открыло виртуальную лунную базу Автор: Михаил КарповТерралабПромзона: Катушка с лупой Автор: Николай МаслухинPixel Qi: дисплеи, не слепнущие на солнце Автор: Юрий ИльинПромзона: Батарейки Microsoft Автор: Николай МаслухинСофт: Process Explorer — порнобаннер в прицеле Автор: Николай МаслухинSynaptics: тачпады нового поколения Автор: Олег НечайПромзона: Очки-суфлер Автор: Николай МаслухинМобильный интернет для малого бизнеса Автор: Максим БукинВещь дня: беззеркальная камера Lumix G2 Автор: Андрей ПисьменныйHDBaseT 1.0: дешёвая замена HDMI Автор: Олег НечайПромзона: Воздушный холодильник Автор: Николай МаслухинСофт: Настраиваем Ubuntu с помощью Ubuntu Tweak Автор: Крестников ЕвгенийПромзона: Бескрайний бассейн Автор: Николай МаслухинСпособы обмана в мобильных сетях Автор: Максим БукинСвоя играВасилий Щепетнёв: О пользе словаря Автор: Василий ЩепетневКивино гнездо: Человек против обмана Автор: Берд КивиMicrosoft: что пошло не так Автор: Андрей ПисьменныйКафедра Ваннаха: Скольжение к сингулярности Автор: Ваннах МихаилВасилий Щепетнёв: Гамбит Форт-Росс Автор: Василий ЩепетневКафедра Ваннаха: Облачное программирование и Пуэрто-Рико Автор: Ваннах МихаилВасилий Щепетнёв: Следы на целлулоиде Автор: Василий ЩепетневКивино гнездо: Конфликт криптографии и бюрократии Автор: Берд КивиИнтерактивЛюдмила Булавкина, директор YouDo по маркетингу, о любительском контенте Автор: Юрий ИльинМакс Зацепин и Глеб Никитин о музыкальной игре для iPad Автор: Юрий ИльинСергей Матиясевич (3D Bank) о рынке трёхмерных моделей Автор: Юрий ИльинВ. Репин (ИХБФМ СО РАН) о бактерии из вечной мерзлоты Автор: Алла АршиноваДмитрий Завалишин об операционной системе «Фантом» Автор: Андрей ПисьменныйБлогиАнатолий Вассерман: «Марс-500» Автор: Анатолий ВассерманКак большой оператор споткнулся о маленького SaaS-провайдера Автор: Анисимов КонстантинАнатолий Вассерман: Дальневосточные «партизаны» Автор: Анатолий ВассерманГолубятня-ОнлайнГолубятня: Сидр №4 Автор: Сергей ГолубицкийГолубятня: Бедность Автор: Сергей Голубицкий

Журнал «Компьютерра»

Зарубежная компьютерная, околокомпьютерная литература