Perl практика

         

Целочисленные литералы.


Пример:

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

Опериции логического сравнения <, <=, ==, >=, &gt, !=.



Операции над строками.


Канкатенация строк:

"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&gt.

$a = <STDIN&gt; chomp($a);

или

chomp($a = <STDIN&gt);



Строки.


Строки - последовательности символов. Символ - 8-битовое значение из 256-символьного набора (при этом сивол NUL ничего особенного , в отличии от C, собой не представляет).



Строки в двойных кавычках.


Обратная косая черта может задавить определенные управляющие символы и вообще любой символ в 8 и 16 - ричном формате:

"hello world\n" "new \177" # new, пробел и символ удаления "coke\tsprite"

Управляющие последовательности.

КонструкцияЗначение



Строки в одинарных кавычках.


Для экранирования одинарной кавычки используется обратная косая черта. Для вставки \ - ее нужно заэкранировать. Примеры:

'hello' 'don\'t' '' 'silly\\me' 'hello there'



Значение undef.


До присваивания значения переменные имеют значения undef. При работе с ключем - w вы получите предупреждение.









\nПереход на новую строку
\rВозврат к началу строки
\tТабуляция
\fПереход к новой странице
\bBackspace
\aСигнал
\eEscape
\007Восьмеричное ASCII-значение
\x7fШестнадцатеричное ASCII-значение
\cCУправляющий символ (здесь Ctrl+C)
\\Обратная косая
\"Двойная кавычка
\lПеревод следующей буквы в нижний регистр
\LПеревод в нижний регистр всех последующих букв до \E
\uПеревод следующей буквы в верхний регистр
\UПеревод в верхний регистр всех последующих букв до \E
\QЗаключить в обратные косые все небуквенные и все нецифровые символы до \E
\EОтменить действие последовательности \L, \U, \Q