Приглашаем посетить
Мамин-Сибиряк (mamin-sibiryak.lit-info.ru)

Типы данных в perl

Типы данных в perl

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

·         Десятичные:           127 или 127.0 или 1.27Е2

·         Шестнадцатиричные:   Ox 7 F или 0 x 7 f

·         Восьмеричные:         0177 (первый 0 указывает, что использу­ется восьмеричное число)

·         Строка :                 "Hello World\n" или 'Hello World'

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

DB<4> р 0177 <ENTER>

127

Perl переводит данные в свой внутренний формат. Когда Perl печатает восьме­ричные или шестнадцатиричные значения, он сначала переводит их в десятич­ный формат, как было показано.

Примечание: Как вы узнаете, скрипт Perl позволяет использовать функ­цию printf для того, чтобы выводить, значения в вызываемом формате, в таком как восьмеричный или шестнадцатиричный.

 

В качестве внутреннего представления всех чисел используется формат с плаваю­щей запятой двойной точности ( double ). Иными словами, среди внутренних фор­матов нет целочисленного. Тем не менее, в большинстве случаев вы можете не обращать на это внимания, и Perl сделает все сам как надо. Например, если вы используете величины в контексте, где только целочисленные значения имеют смысл, Perl сам автоматически усечет число.

Примечание: Если вы программируете на С и использовали целочисленное деление с усечением целых чисел автоматически, то, программируя на языке Perl , надо не забыть выполнить усечение вручную, используя функцию i nt ().

 

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

print 6 & 3;                    # выведет 2

print 6.9 & 3.1               #

print 7 / 2                       # выведет 2.3333 не целое

print int(7/3)                   # выведет 2

 

Точно так же, как Perl преобразует числа с плавающей запятой в целые числа: когда скрипт использует целочисленные значения, он также преобразует числа в строки и наоборот, когда такое преобразование имеет смысл. Например, если скрипт использует числа в контексте, где только строки имеют смысл, например, при соединении строк, он конвертирует числа в строки. Аналогичным образом, если требуется использовать строки там, где только числа имеют смысл, то Perl кон­вертирует их в числа. Работая со скриптами Perl , обычно не надо беспокоиться о внутреннем представлении скалярных величин.

Perl поддерживает также концепцию булевых значений, но не имеет для их описания специального типа. Как и в С, численное значение рассматривается истин­ным, если оно не равно нулю. Дополнительно строковое значение рассматривается как истинное, если оно не равно ‘’ или ‘0’. Некоторые булевы операторы, такие как «>» (больше), возвращают единицу в качестве значения «истинно» и нуль — в качестве «ложно». Тем самым, ваш скрипт должен просто рассматривать ненуле­вые величины как строчного типа, так и числового в качестве булева значения «истинно».

Скрипты Perl могут группировать скалярные   величины вместе и создавать список ( list ). Если скрипт хранит список в какой-то   переменной, то эта переменная стано­вится массивом ( array ).

Назад | Оглавление | Далее