Алфавит языка
Приступая к знакомству с любым языком программирования, мы прежде всего выясняем, а какие типы данных он позволяет обрабатывать, предоставляет ли язык механизм создания новых типов из уже существующих. Ведь язык программирования, как знаковая система обработки информации, как раз и предназначен для обработки информации, представленной данными и алгоритмами. Данные определяются своим типом – множеством значений и набором допустимых операций.
Одни языки программирования предлагают большое число разнообразных типов данных, как, например, универсальный язык С, в котором даже тип данных, используемый для хранения символов, может быть со знаком или без знака; другие могут обходиться всего лишь двумя типами данных, как, например, VBScript, в котором для хранения и обработки любых скалярных данных (числовых, строковых и булевых) используется единственный вариантный тип данных и существует возможность создания массивов скалярных данных. В конечном счете, язык должен иметь такое разнообразие типов данных, чтобы программист мог с их помощью решать задачи, для которых предназначен язык программирования.
Язык Perl для решения своих задач предлагает всего три типа данных: скаляры, массивы скаляров и ассоциативные массивы скаляров, или хеши. В соответствии с допустимыми типами данных существует и три типа переменных, в которых можно хранить данные перечисленных типов. В этой главе определяются все допустимые в языке типы данных, вводятся числовые и строковые литералы, конструкторы массивов и ассоциативных массивов, а также обсуждаются переменные и их использование, но начнем мы наше изучение с вопроса, без которого невозможно вхождение в любой язык программирования – набора допустимых символов, или алфавита языка.
С чего начинается изучение любого языка? Конечно, с алфавита. Помните, как в первом классе мы усердно выводили в прописях все буквы русского алфавита, а в старших классах, приступая к изучению иностранного языка, мы сначала учили буквы его алфавита и какие звуки они обозначают, а потом из букв складывали слова, которые уже можно было использовать для составления предложений, несущих определенную информативность: "Мама мыла раму".
Аналогично происходит и при изучении языков программирования. Сначала мы должны выяснить, какие можно использовать символы для составления лексем (слов языка), из которых можно конструировать операторы (предложения языка).
В языке Perl можно использовать все буквы латинского алфавита (прописные и строчные), арабские цифры и знак подчеркивания "_". Perl относится к языкам, чувствительным к регистру. Это означает, что символы прописной и строчной буквы считаются различными. Поэтому, например, два идентификатора one и one, используемые для задания имени переменной, – это два различных идентификатора и следовательно, определяемые ими переменные одного и того же типа также являются различными.
Замечание
Буквы национальных алфавитов, в частности русского, можно использовать только в строковых данных. Идентификаторы переменных могут содержать буквы только латинского алфавита. Кроме букв, цифр и символа подчеркивания, которые называются алфавитно-цифровыми символами, используется набор специальных символов, представленный в табл. 3.1.
Таблица 3.1. Специальные символы языка Perl.
Символ | Название | Символ | Название |
---|---|---|---|
` | Обратный апостроф | ~ | Тильда |
! | Восклицательный знак | @ | Коммерческое AT |
№ | Номер | $ | Знак доллара |
% | Процент | ^ | "Крышка" |
& | Амперсанд | * | Звездочка |
Минус | + | Плюс | |
= | Равенство | | | Вертикальная черта |
' | Прямой апостроф | " | Кавычки |
< | Меньше | > | Больше |
/ | Косая черта | \ | Обратная косая черта |
, | Запятая | . | Точка |
: | Двоеточие | ; | Точка с запятой |
[ | Квадратная левая скобка | ] | Квадратная правая скобка |
{ | Фигурная левая скобка | } | Фигурная правая скобка |
( | Круглая левая скобка | ) | Круглая правая скобка |
? | Вопросительный знак | Пробел |
Анализ специальных символов показывает, что в языке Perl используются все символы, которые можно ввести с клавиатуры. Если буквенно-цифровые символы используются в составе идентификаторов, то специальные символы служат для определения знаков операций, уточнения синтаксиса выражений, а также именования специальных встроенных переменных языка Perl. Если читателю какой-то из перечисленных объектов сейчас и не совсем ясен, то при последующем изложении все встанет на свои места. Алфавит языка используется для создания "правильных" (распознаваемых интерпретатором языка) лексем. Среди всего множества таких лексем существует подмножество предопределенных лексем, называемых ключевыми словами и используемых для создания правильных конструкций языка.
Набор ключевых слов языка Perl не велик и представлен ниже:
if, elseif, else, unless, while, until, foreach, for, next, continue, last, do, eval, goto, sub, my, return
Кроме перечисленных ключевых слов, определяющих синтаксические языковые конструкции, в языке Perl сложился набор стандартных функций, который реализован в любом интерпретаторе perl. Имена этих функций можно тоже считать зарезервированными словами языка и не использовать в качестве имен пользовательских функций или меток в программе. Мы не будем здесь перечислять имена всех стандартных функций, так как их количество достаточно велико, да и мало прока будет от такого простого перечисления, а отошлем читателя к приложению А, где он может увидеть имена всех стандартных функций.