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

Для хранения скалярных данных предназначены скалярные переменные, каждая из которых может содержать одно значение. Перед именем такой переменной ставится символ $, обозначающий скалярную величину ($ - это стилизованное "s", то есть scalar). Далее, в лекции 5, будет рассмотрен другой тип переменных - массивы, которые содержат множественные значения, логически связанные вместе. В массивах может одновременно хранится несколько скалярных значений, и имена массивов предваряются символом @ (@ - это стилизованное "a", то есть array). Поначалу эти "забавные символы" (funny characters, шутливо называемые "оккультными знаками" - sigils) перед именами переменных кажутся непривычными и даже лишними. Но позже вам раскроется глубокий смысл и удобство этих символов, официально называемых разыменовывающими префиксами. На первый взгляд очевидно, что они своим видом напоминают, какое значение содержит переменная - единичное или множественное. Скаляры представляют в Perl лингвистическое понятие единственного числа, а массивы - множественного числа. Вообще, переменные воплощают грамматическую идею существительных, в отличие от процедур или функций, исполняющих в программе роль глаголов.

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

[x]. в имени допускается использовать латинские буквы, символы подчеркивания, которые приравниваются к буквам, и цифры;

[x]. имя переменной должно начинаться с буквы (длина имени переменной практически не ограничивается).

В Perl имена переменных принято записывать строчными буквами, при необходимости разделяя слова в имени символом подчеркивания, например:


$website $catch22 $user_name $input_record_counter $this_is_an_example_of_a_very_long_variable_name


В большинстве процедурных языков каждую переменную в программе требуется объявлять, определяя, какой тип данных допустимо хранить в ней: например, boolean

, character, string, byte, short, integer, long
, real, float или double. В Perl можно вводить переменные в любом месте программы без объявления. Чтобы использовать переменную, надо просто упомянуть ее имя в программе, обычно это происходит при присваивании ей начального значения.


$background_color = 0xFFF; $version_number = 5.8; $www_site = "www.perl.com"; $email_address = 'larry@wall.org';


Если значение переменной не присвоено, в ней хранится специальное неопределенное значение undef

. Неопределенность значения переменной можно проверить с помощью встроенной функции defined(), возвращающей истинное значение, если значение переменной определено. Одна и та же переменная может поочередно иметь неопределенное значение или хранить значение любого из основных типов, например, строку или число (целое или дробное):


$variable; $variable = 'Строка'; $variable = 25; $variable = 3.141592653;


В именах переменных заглавные и строчные буквы различаются, поэтому приведенные ниже имена относятся к совершенно разным переменным:


$language $Language $LanguagE $LaNgUaGe


Необъявленные переменные имеют глобальную область видимости в пределах пакета. Область видимости переменных определяется рамками программных единиц: блоков, подпрограмм, пакетов, о которых подробно будет рассказано в лекциях 12 и 13. Чтобы задать область видимости переменных, нужно их объявить явно. Для объявления переменных применяются такие ключевые слова:

[x]. my - переменные с лексической областью видимости;

[x]. our - глобальные переменные с лексической областью видимости;

[x]. local - временное скрытие глобальных переменных.

В одном объявлении можно перечислить несколько переменных. Объявляемым переменным рекомендуется сразу присваивать начальные значения, например:


local $_ = 25 my ($buffer = '', $count = 0, $end_of_file = 0) our $version = 2.5, $author = 'Mike Shock'


Различия между этими типами переменных будут подробно рассмотрены в лекциях, посвященных подпрограммам и модулям. А пока, памятуя об общих правилах хорошего стиля программирования и требованиях к надежности программ, постараемся свести к минимуму использование глобальных переменных. Для этого достаточно взять за правило преимущественно использовать лексические переменные, объявляемые с помощью ключевого слова my. Применение переменных с лексической видимостью также сокращает расход памяти, поскольку они автоматически уничтожаются при выходе из области видимости.

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

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

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

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

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

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по 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 Автор: Сергей ГолубицкийГолубятня: Бедность Автор: Сергей Голубицкий

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

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