PERL.1 Основы языка
История языка 1986 – Larry Wall Истоки – sed, awk, shell, С Возможности системного администрирования и обработки файлов Practical Extraction and Report Lahguage
Характерные черты PERL – Интерпретируемый язык, оптимизированный для просмотра содержимого текстовых файлов, выделения из них информации и генерирования отчетов на основе этой информации
Характерные черты PERL (2) Интерпретируемость (программа транслируется в промежуточный байт-код) – Доступность для большинства серверных платформ – UNIX – MS-DOS – Windows NT – Windows 95/98 – OS/2 – Machintosh Свободно распространяемое программное обеспечение
Области применения PERL Системная поддержка UNIX CGI-сценарии Обработка почты (Majordomo) Поддержка узлов Web
Выполнение программы В среде UNIX perl program.pl chmod +x program.pl./program.pl #! /bin/usr/perl –w –d C:\windows\dosprmpt.pif /path\perl.exe
Объявления и комментарии # - комментарий до конца строки Оператор Идентификатор (начинается с буквы или _) Литерал или буквальная константа Знаки операций Разделитель ; Пробельные символы
Операторы Простой оператор Выражение Блок Составные операторы
Типы данных Используются все символы, которые можно ввести с клавиатуры Скалярный типа данных Массивы скаляров Ассоциативные массивы Переменные
Скалярный тип данных Для представления и обработки числовых данных и последовательности символов (строк) Числовые литералы (числа представлены форматом чисел с плавающей запятой удвоенной точности) – 123 – – –.123 – 1_000_
Числовые литералы – Е11 – е+06 – 1е-203 – 1е+308 – 010 – 0х10
Строковые литералы Последовательность символов в одинарных, двойных, обратных ` кавычках
Скалярные переменные $name=\$10;
Специальные литералы _LINE_ _FILE_ _END_ _DATA_
Массивы скаляров Конструктор массива – (скаляр1, скаляр2,...) В массиве возможно хранить данные разных +, $m2, =, $m1+$m2) $ar[0]=New; Размер массива определяется индексом последнего элемена и является динамическим Число элементов массива – $#имямассива
Массивы скаляров ${var}[10]
Ассоциативные массивы Хеш-массивы %n=(ключ1, значение1, ключ2, значение2,...); $surname=$m{Фамилия}; %m=( Имя => Mary, Фамилия => Smith ); delete($m{phone});
Ассоциативные массивы (2) print keys(%m), \n; print values(%m), \n; Последовательность элементов не соответствует порядку их задания Связанные списки
Переменные Первый символ определяет тип переменной Определенные и неопределенные переменные defined undef
Упражнение Что напечатают следующие операторы и почему? $m=Скаляр print Значение равно $m[0]\n; print Значение равно $m [0]; Есть группа студентов из 10 человек. Воспользовавшись хеш-массивами, создайте базу данных студентов.
Операции и выражения Арифметические операции – Бинарные операции + - / * ** %
Операции увеличения и уменьшения $s=a,b,Z; $s1=++$s; # acA
Операция конкатенации string1.string2 $n=23.5.3e01 #23.530
Операция повторения строки х 10.0х3; #101010
Операции отношения = =eg ! =ne gt =ge cmp- 0. если опранды равны, 1, если левый больше правого, -1, если правый больше левого