Язык программирования Perl - страница 8

Шрифт
Интервал

стр.


>0444 -0666 0777 02000


Когда нужно представить двоичные числа, то перед ними ставится признак двоичной системы счисления 0b (каждая цифра 0 или 1 представляет 1 бит). Вот числа 17, -85, 238 и 1024, записанные как двоичные литералы:


>0b00010001 -0b01010101 0b1110_1110 0b10000000000


Что касается внутреннего представления чисел в Perl, то они всегда хранятся в виде чисел с плавающей точкой двойной точности, что гарантирует максимальную точность вычислений. При необходимости предусмотрена возможность переключиться на целочисленную арифметику. Удобно и то, что при выводе числовые литералы, записанные в любой системе счисления, автоматически преобразуются к удобочитаемому десятичному виду.

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


>"Это строка." "А" 'это другая строка' '.'


Иногда в строковых литералах требуется представить специальный символ (управляющий символ или символ, отсутствующий на клавиатуре). Для этого используется так называемая escape-последовательность (называемая также управляющей последовательностью) - это символ "\" (backslash, обратная косая черта), за которым следует один или несколько символов. Все знаки управляющей последовательности представляют один символ в строковом литерале. Например:


>\a звонок (Alert, bell) или 0x07 в 16-теричном представлении

>\b возврат на шаг (Backspace) или 0x08

>\e символ "эскейп" (Escape) или 0x1B

>\f прогон страницы (Form feed) или 0x0C

>\n новая строка (Newline) или 0x0A

>\r возврат каретки (Return) или 0x0D

>\t табуляция (Tabulation) или 0x09

>\033 восьмеричный код символа (например, 033)

>\x1b шестнадцатеричный код символа (например, 1B)

>\Cc управляющая последовательность (например, Control+C)

>\x{263A} двухбайтный символ набора Unicode (например, ?)

>\N{sigma} именованный символ набора Unicode (например, ?)

>\" символ двойной кавычки (quote)

>\' символ одинарного апострофа (apostrophe)

>\\ символ обратной черты (backslash)

>\$ любой другой символ, как он есть (например, знак доллара)


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


>"символ перевода на новую строку:\n"

>"слова\t,разделенные\t табуляцией"

>"вставка \"кавычек\" в литерал, заключенный в кавычки"


Если интерполяция управляющих последовательностей не требуется, то строковый литерал нужно заключить в одинарные апострофы:


>'обратная косая с буквой n:\n'

>'здесь \t - это обратная косая и буква t'

>'вставка \'апострофов\' в литерал, заключенный в апострофы'


В этом случае из escape-последовательностей только \' и \\ заменяются на символы апострофа и обратной черты. А остальные последовательности, такие как '\n' или '\x00', представляют обычные символы. Если необходимо вставить в строковый литерал апострофы, то строку заключают в двойные кавычки, и наоборот:


>'книга "Изучаем Perl"' "книга 'Изучаем Perl'"


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


>'А это пример строкового литерала,

>расположенного в программе

>на нескольких строках'


Поскольку здесь сохраняются невидимые символы перехода на новую строку, многострочные литералы удобно использовать для записи текста, предназначенного для вывода на печать на нескольких строках. Строковые литералы могут не содержать ни одного символа. Это так называемые "пустые строки", которые записываются как два апострофа или две кавычки без пробела между ними ('' или "").

Альтернативные способы записи строковых литералов будут рассмотрены в лекции 7, в которой излагаются возможности строковых данных и приемы работы со строками.

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


стр.

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