Целочисленные литералы.
Пример:
12 15 -2004 3485
Восьмиричные числа начинаются с нуля, а шестнадцатиричные - с 0x или 0X. Пример:
0377 -0xff
Числа.
В Perl для всех чисел используется один и тот же внутренний формат - значения с плавающей запятой двойной точности.
Интерполяция скаляров в строках.
Если строковый литерал взят в двойные кавычки, в нем нобходимо выполнить интерполяцию переменных.
$a = "fred"; $b = "some text $a"; # "some text fred" $c = "no such variable $what"; # "no such variable" $x = '$fred'; $y = "hey $x"; # 'hey $fred' $fred = 'hi'; $barney = "a test of " . '$fred'; #'a test of $fred' $barney1 = "a test of \$fred"; #'a test of $fred'
Разделитель имени переменной - {}
$barney = "It is ${fred}day";
Литералы с плавающей запятой.
Литерал - константа. Примеры:
1.25 7.25e45 -12e-24 -1.2E-23
Операции над числами.
2 + 3 5.1 - 2.4 3 * 12 10./3 10%3 2**3
Опериции логического сравнения <, <=, ==, >=, >, !=.
Операции над строками.
Канкатенация строк:
"hello" . "world" 'hello world' . "\n" # "hello world\n"
Операции сравнения строк: eq, ne, lt, gt, le, ge.
Операция повторения строки:
"fred" x 3 "barney" x (4+1) (3+2) x 4 #"5555"
Приоритет и ассоциативность опреаций.
Числа в строки и обратно.
Если строковое значение используется как операнд в операции с числами, Perl автоматически преобразует эту строку в цифровое значение:
" 125.45fred" преобразуется в 125.45 # если нет -w "fred" - 0
В противном случае числовое значение конвертируется в строку.
"X" . (4 * 5) # "X20"
Скалярные типы данных.
Скаляр - это простейший тип данных Perl. В Perl числа и строки используются практически как взаимозаменяемые понятия.
<STDIN> как скалярное значение.
Используется дескриптор <STDIN>.
$a = <STDIN> chomp($a);
или
chomp($a = <STDIN>);
Строки.
Строки - последовательности символов. Символ - 8-битовое значение из 256-символьного набора (при этом сивол NUL ничего особенного , в отличии от C, собой не представляет).
Строки в двойных кавычках.
Обратная косая черта может задавить определенные управляющие символы и вообще любой символ в 8 и 16 - ричном формате:
"hello world\n" "new \177" # new, пробел и символ удаления "coke\tsprite"