Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
perl.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
388.1 Кб
Скачать

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

Типы данных используются в программах при объявлении переменных. Короче говоря, тип данных определяет то множество значений, которые может принимать переменная, а также набор операций,которые программа может выполнять с ней. В языке Perl данные могут быть числом или строкой символов. Одно значение называетсяскалярной величиной или просто скаляром. Ниже приведены примерыскалярных значений, которые используются в языке Perl: ? Десятичные: 127 или 127.0 или 1.27Е2 ? Шестнадцатиричные: Ox7F или 0x7f? Восьмеричные: 0177 (первый 0 указывает, что используетсявосьмеричное число) ? Строка: "Hello World\n" или 'Hello World'

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

DB<4> р 0177 <ENTER>

127

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

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

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

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

Следующая команда иллюстрирует, как 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).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]