Учебники

Perl — типы данных

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

В Perl есть три основных типа данных: скаляры, массивы скаляров и хэши скаляров, также известные как ассоциативные массивы. Вот небольшая деталь об этих типах данных.

Sr.No. Типы и описание
1

скаляр

Скаляры — это простые переменные. Им предшествует знак доллара ($). Скаляр — это либо число, либо строка, либо ссылка. Ссылка — это адрес переменной, который мы увидим в следующих главах.

2

Массивы

Массивы — это упорядоченные списки скаляров, к которым вы обращаетесь с помощью числового индекса, который начинается с 0. Им предшествует знак «at» (@).

3

Хэш

Хэши — это неупорядоченные наборы пар ключ / значение, к которым вы обращаетесь, используя ключи как подписки. Им предшествует знак процента (%).

скаляр

Скаляры — это простые переменные. Им предшествует знак доллара ($). Скаляр — это либо число, либо строка, либо ссылка. Ссылка — это адрес переменной, который мы увидим в следующих главах.

Массивы

Массивы — это упорядоченные списки скаляров, к которым вы обращаетесь с помощью числового индекса, который начинается с 0. Им предшествует знак «at» (@).

Хэш

Хэши — это неупорядоченные наборы пар ключ / значение, к которым вы обращаетесь, используя ключи как подписки. Им предшествует знак процента (%).

Числовые литералы

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

Тип Значение
целое число 1234
Отрицательное целое число -100
Плавающая запятая 2000
Научная нотация 16.12E14
шестнадцатеричный 0xffff
восьмеричный 0577

Строковые литералы

Строки — это последовательности символов. Обычно это буквенно-цифровые значения, разделенные одинарными (‘) или двойными («) кавычками. Они работают так же, как кавычки оболочки UNIX, где можно использовать одинарные и двойные кавычки.

Строковые литералы в двойных кавычках допускают интерполяцию переменных, а строки в одинарных кавычках — нет. Существуют определенные символы, когда они обрабатываются обратной косой чертой, имеют особое значение и используются для представления, например, новой строки (\ n) или табуляции (\ t).

Вы можете встраивать символы новой строки или любую из следующих последовательностей Escape непосредственно в строки в двойных кавычках —

Последовательность побега Имея в виду
\\ бэкслэш
Одинарные цитаты
Двойная цитата
\ а Оповещение или звонок
\ б возврат на одну позицию
\ е Форма подачи
\ п Новая линия
Возврат каретки
\ т Горизонтальная вкладка
\ v Вертикальная вкладка
\ 0nn Создает числа в формате Octal
\ Хпп Создает числа в формате Hexideciamal
\ сХ Управляет символами, x может быть любым символом
\ и Переводит следующий символ в верхний регистр
\ л Переводит следующий символ в нижний регистр
\ U Переводит все последующие символы в верхний регистр
\ L Заставляет все следующие символы в нижний регистр
\ Q Обратная косая черта всех следующих не алфавитно-цифровых символов
\ E Конец \ U, \ L или \ Q

пример

Давайте еще раз посмотрим, как ведут себя строки с одинарными и двойными кавычками. Здесь мы будем использовать экранирование строк, упомянутое в приведенной выше таблице, и будем использовать скалярную переменную для назначения строковых значений.

Live Demo

#!/usr/bin/perl

# This is case of interpolation.
$str = "Welcome to \ntutorialspoint.com!";
print "$str\n";

# This is case of non-interpolation.
$str = 'Welcome to \ntutorialspoint.com!';
print "$str\n";

# Only W will become upper case.
$str = "\uwelcome to tutorialspoint.com!";
print "$str\n";

# Whole line will become capital.
$str = "\UWelcome to tutorialspoint.com!";
print "$str\n";

# A portion of line will become capital.
$str = "Welcome to \Ututorialspoint\E.com!"; 
print "$str\n";

# Backsalash non alpha-numeric including spaces.
$str = "\QWelcome to tutorialspoint's family";
print "$str\n";

Это даст следующий результат —