Анимация
JavaScript
|
Главная Библионтека во внутренних вычислениях Perl использует только значения с плавающей запятой двойной точности*. Это значит, что внутренних целых величин в Perl нет; целочисленная константа в программе рассматривается как эквивалентное значение с плавающей запятой**. Вы, вероятно, не заметите этого преобразования (или попросту проигнорируете его), но в любом случае не нужно искать целочисленные операции (как дополнение к операциям с плавающей запятой), ибо их попросту нет. Литералы с плавающей запятой Литерал - это способ представления величины в тексте Perl-программы. В своей программе вы можете называть литерал константой, но мы будем пользоваться термином литерал. Литералы - это способ представления данных в исходном тексте вашей программы как входной информации для компилятора Perl. (Данные, которые читаются из файлов или записываются в файлы, трактуются похоже, но не совсем так.) Perl принимает полный набор литералов с плавающей запятой, которыми пользуются программисты, работающие на С. Допускаются числа с десятичными запятыми и без них (включая необязательный префикс "плюс" или "минус"). Кроме того, можно использовать показатель степени числа десять (экспоненциальное представление) с буквой е. Например; 1.25 # около единицы с четвертью 7.25е45 # 7,25, умноженное на 10 в 45-й степени (большое число) -6.5е24 # минус 6,5, умноженное на 10 в 24-й степени # ("большое" отрицательное число) -12е-24 # минус 12, умноженное на 10 в минус 24-й степени #(очень маленькое отрицательное число) -1.2Е-2 3 # еше одна форма записи этого числа Целочисленные литералы Целочисленные литералы также весьма просты, например: 12 15 -2004 3485 Не начинайте целое число с нуля, потому что Perl поддерживает восьмеричные и шестнадцатеричные литералы. Восьмеричные числа начинаются с нуля, а шестнадцатеричные - с Ох или ОХ***. Шестнадцатеричные цифры Значение с плавающей запятой двойной точности - это то, что компилятор С, который компилировал Perl, использовал для объявления double. Если только вы не используете "целочисленный режим", но по умолчанию он не включен. "Начальный нуль" работает только в литералах, но не действует при автоматическом преобразовании строк в числа. Строку данных, выглядящую как восьмеричное или шест-надцатеричное значение, можно преобразовать в число с помощью функций oct или hex от А до F (в любом регистре) обозначают обычные цифровые значения от 10 до 15. Например: 0377 # восьмеричное 377, то же самое, что десятичное 255 -Oxff # отрицательное шестнадцатеричное FF, то же самое, что десятичное -255 Строки Строки - это последовательности символов (например, hello). Каждый символ представляет собой 8-битовое значение из 256-символьного набора (при этом символ NUL ничего особенного, как в некоторых языках, собой не представляет). Самая короткая из возможных строк не содержит ни одного символа. Самая длинная строка заполняет всю наличную память (но сделать с пей что-либо вы вряд ли сможете). Это соответствует принципу "отсутствия встроенных ограничений", которому Perl следует при каждой возможности. Обычно строки представляют собой последовательности букв, цифр и знаков препинания, коды которых лежат в диапазоне ASCII 32 - 126. Однако возможность наличия в строке любого символа с кодом от О до 255 означает, что вы можете создавать, просматривать необработанные двоичные данные и манипулировать ими как строками - то, что вызвало бы серьезные трудности в большинстве других языков. (Например, можно "залатать" свою операционную систему, прочитав нужный фрагмент кода как Perl-строку, внеся изменение и записав результат обратно на диск.) Как и числа, строки могут иметь литеральное представление (способ представления строкового значения в Perl-программе). Литеральные строки бывают двух видов: в одинарных кавычках и в двойных кавычках*. Есть еще одна похожая форма: строка в обратных кавычках (вот такая). Это не столько литеральная строка, сколько способ выполнения внешних команд и получения их результатов. Более подробно этот вопрос рассматривается в главе 14. Строки в одинарных кавычках Строка в одинарных кавычках представляет собой последовательность символов, заключенную в одинарные кавычки. Одинарные кавычки частью самой строки не являются, они служат лишь для того, чтобы Perl мог определить начало и окончание строки. Все символы, стоящие между кавычками (в том числе символы новой строки, если строка разбивается на несколько экранных строк), действительны внутри строки. Два исключения: чтобы вставить одинарную кавычку в строку, уже заключенную в одинарные кавычки, поставьте перед ней обратную косую черту. Для того чтобы вставить Есть также Леге-строки, похожие на Леге-документы shell. Они рассматриваются в главе 19, Программирование СО/. См. также главу 2 книги Programming Perl и man-страницу peridnfa{ 1). в строку в одинарных кавычках обратную косую, поставьте перед ней еще одну обратную косую черту. Примеры: hello donXt sillyWrae helloXn hello there # пять символов: h, e, 1, 1, о # пять символов: d, о, n, одинарная кавычка, t # пустая строка (без символов) # silly, обратная косая, гае # hello, обратная косая, п # hello, новая строка, there (всего 11 символов) Отметим, что пара символов \п внутри строки в одинарных кавычках интерпретируется не как символ новой строки, а как два символа: обратная косая и п. (Обратная косая имеет специальное значение только в том случае, если за ней следует еще одна обратная косая или одинарная кавычка.) Строки в двойных кавычках Строка в двойных кавычках действует почти так же, как С-строка. Это тоже последовательность символов, но на этот раз - заключенная в двойные кавычки. Теперь, однако, обратная косая приобретает полную силу и может задавать определенные управляющие символы и вообще любой символ в восьмеричном и шестнадцатеричном форматах. Вот некоторые строки в двойных кавычках: "hello worldXn" # hello world и новая строка "new \177" # new, пробел и символ удаления (восьмеричное 177) "co)ce\tsprite" # со)се, знак табуляции, sprite Широко используются сочетания обратной косой черты с различными символами (так называемая управляющая последовательность с обратной косой). Полный перечень управляющих последовательностей, которые применяются в строках в двойных кавычках, приведен в табл. 2.1. Таблица 2.1. Управляющие последовательности
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [ 18 ] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |