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 |
пример
Давайте еще раз посмотрим, как ведут себя строки с одинарными и двойными кавычками. Здесь мы будем использовать экранирование строк, упомянутое в приведенной выше таблице, и будем использовать скалярную переменную для назначения строковых значений.
#!/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";
Это даст следующий результат —