Скалярные типы данных.
Скаляр - это простейший тип данных Perl. В Perl числа и строки используются практически
как взаимозаменяемые понятия.
В Perl для всех чисел используется один и тот же внутренний формат - значения с
плавающей запятой двойной точности.
Литералы с плавающей запятой.
Литерал - константа. Примеры:
1.25
7.25e45
-12e-24
-1.2E-23
Целочисленные литералы.
Пример:
12
15
-2004
3485
Восьмиричные числа начинаются с нуля, а шестнадцатиричные - с 0x или 0X. Пример:
0377
-0xff
Строки - последовательности символов. Символ - 8-битовое значение из 256-символьного набора (при этом сивол NUL ничего особенного , в отличии
от C, собой не представляет).
Строки в одинарных кавычках.
Для экранирования одинарной кавычки используется обратная косая черта. Для вставки \ -
ее нужно заэкранировать. Примеры:
'hello'
'don\'t'
''
'silly\\me'
'hello
there'
Строки в двойных кавычках.
Обратная косая черта может задавить определенные управляющие символы и вообще любой символ
в 8 и 16 - ричном формате:
"hello world\n"
"new \177" # new, пробел и символ удаления
"coke\tsprite"
Управляющие последовательности.
Конструкция | Значение |
\n | Переход на новую строку |
\r | Возврат к началу строки |
\t | Табуляция |
\f | Переход к новой странице |
\b | Backspace |
\a | Сигнал |
\e | Escape |
\007 | Восьмеричное ASCII-значение |
\x7f | Шестнадцатеричное ASCII-значение |
\cC | Управляющий символ (здесь Ctrl+C) |
\\ | Обратная косая |
\" | Двойная кавычка |
\l | Перевод следующей буквы в нижний регистр |
\L | Перевод в нижний регистр всех последующих букв до \E |
\u | Перевод следующей буквы в верхний регистр |
\U | Перевод в верхний регистр всех последующих букв до \E |
\Q | Заключить в обратные косые все небуквенные и все нецифровые символы до \E |
\E | Отменить действие последовательности \L, \U, \Q |
Операции над числами.
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"
Имя скалярной переменной - $ и набор буквы $a.
Примеры:
$b = 4 + ($a = 3);
$d = $c = 5;
Операции присваивания с вычислением.
Примеры:
$a += 5;
$b *=3;
$str .= " ";
Автоинкремент и автодекремент.
++$a;
$c++;
--$a;
$a--;
Функции chop и chomp.
Интерполяция скаляров в строках.
Если строковый литерал взят в двойные кавычки, в нем нобходимо выполнить
интерполяцию переменных.
$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";
Используется дескриптор <STDIN>.
$a = <STDIN>
chomp($a);
или
chomp($a = <STDIN>);
print("hello world\n");
print "hello world\n";
До присваивания значения переменные имеют значения undef. При работе
с ключем - w вы получите предупреждение.
|