-
( 2 часа ) Представяне на Perl
1.1. История на езика
1.2. Основни концепции и цели на програмирането с Perl. Скриптови езици в сравнение с компилаторни езици.
1.3. Прилика с други програмни езици.
1.4. Виртуална машина, абстракция на платформата
1.5. Защо Perl? Предимства на синтакса, представяне на CPAN – безпрецедентно най-голямата стандартизирана библиотека за безплатни модули.
1.6. Лицензионна политика, различни имплементации на Perl под linux/windows.
1.7. Подход към документацията и материалите към курса
1.8. Подход към курса, базов вход изход, система за тестване на програмите
-
( 2 + 1 часа ) Скаларни данни
2.1. Какво представляват скаларните данни
2.2. Числа
2.2.1. оператори hex/oct
2.2.2. оператор abs
2.3. Стрингове
2.3.1. оператор length
2.3.2. оператори chop и chomp
2.3.3. оператори uc/lc
2.4. Скаларни оператори, функции и променливи
2.5. Неопределени величини
2.5.1. оператор undef
2.5.2. оператор defined
2.6. Особености на type casting операциите
2.7. Reference към скалари, аналози с указателите в компилаторните езици
2.8. Примери
-
( 3 часa ) Списъци и масиви
3.1. Какво са списъците и масивите в Perl
3.2. Представяне на списъци и масиви, Интерполация на променливите в масив
3.3. Добавяне и изтриване на елементи
3.3.1. оператор pop
3.3.2. оператор push
3.3.3. оператор shift
3.3.4. оператор unshift
3.4. Оператори и функции над списъци и масиви
3.4.1. оператор foreach
3.4.2. оператор join
3.4.3. оператор map
3.4.4. оператор grep
3.5. Отрязъци от масиви
3.5.1. оператор splice
3.5.2. запис x..y
-
( 3 часа ) Хешове
4.1. Какво е хеш
4.2. Представяне на хешове
4.3. Проверка за наличие и изтриване на елемент или целия хеш
4.3.1. оператор exists
4.3.2. оператор delete
4.4. Оператори и функции над хешове
4.4.1. оператор keys
4.4.2. оператор values
4.4.3. оператор each
4.5. Хешови отрязъци, хешови отрязъци над референснати променливи
-
( 3 часа ) Синтаксис на програмите
5.1. Декларации
5.2. Прости и сложни конструкции
5.3. Условни конструкции
5.3.1. оператори if unless
5.3.2. префиксен/постфиксен запис
5.3.3. логически запис на условните конструкции
5.4. Цикли
5.4.1. оператори for, while, do while
5.4.2. оператори next, last, continue
5.4.3. едноредов постфиксен запис
5.5. Логически оператори
5.6. Математически оператори
5.7. Приоритет на операторите
5.8. Функции за управление на грешките
5.8.1. die
5.8.2. warn)
-
( 1 час ) Вход/изход, подразбиращи се потоци
6.1. Извеждане и четене на скаларни данни
6.1.1. оператори print, printf, sprintf
6.1.2. специални потоци STDIN STDOUT и STDERR
6.2. Извеждане и четене на сложни данни (масиви, хешове)
-
( 2 часа ) Файлове. Операции с файлове и директории
7.1. Отваряне/затваряне на файл
7.2. Входи/изход във файл
7.3. Манипулации над файл (изтриване, преименуване, преместване)
7.4. Отваряне/затваряне на директории
7.5. Обхождане на директории
7.6. Манипулации над директории (изтриване, преименуване, преместване)
7.7. Оператори за тестове над файлове (-e –d и т.н. )
-
( 3 часа ) Функции
8.1. Дефиниране
8.2. Аргументи и начините за получаването им.
8.3. Получаване на данни за извикващата функция. Оператор caller
8.4. Връщани стойности, оператор wantarray
8.5. scoping на променливите, частни и получастни променливи
8.5.1. my променливи
8.5.2. local променливи
8.5.3. оur променливи
-
( 4 часа ) Указатели и вложени (сложни) структури данни
9.1. Типове указатели
9.2. Съдаване на указатели
9.3. Използване на указатели
9.4. Символни указатели
9.5. Интерполация. Скоби и кавички.
-
( 2 + 1 часа ) Операции над стрингове и текст. Regular Expressions
10.1. Какво е regular expression, основни идентификатори
10.2. Намиране на стринг в текст
10.3. Променяне на стринг в текст
10.4. Някои примери на стандартни regular expressions
-
( 2 + 1 часа ) Пакети, модули, клaсове и обекти. ООП
11.1. Каква е разликата между пакетите, модулите и обектите
11.2. Пакети и модули. Разлика м/у use и require
11.3. Класове и обекти
11.3.1. оператор bless
11.3.2. оператор ref
11.4. Някои тънкости при работата с обекти
11.5. Оператор tie и система на “вързаните” променливи
-
( 1 час ) Изключения (Exceptions)
12.1. Изключенията от гледна точка на Perl
12.1.1. оператори try, catch, through
12.1.2. сравнение със C++
12.2. eval – die механизъм за предизвикаване на изключение
12.3. Изключения при работа с класове и обекти
-
( 1 + 1 часа ) Работа с бази данни.
13.1. Универсален модул DBI.
13.2. Стандартен подход при работа с бази данни
-
( 2 часа ) Базова информация за процеси и нишки
14.1. Разлика между процеси и нишки
14.2. Процесите от гледна точка на различните операционни системи и Perl
14.3. Управление на процесите
14.4. Бъдещето на мултинишковото програмиране в Perl
-
( 1 + 1 часа ) CGI програмиране
15.1. Какво е CGI
15.2. Сравнение с PHP/ASP/JSP
15.3. Използване на модула CGI
-
( 1 час ) Мрежово програмиране
16.1. Сокети, сървъри и клиенти
16.2. TCP/IP, UDP сокети
16.3. UDS сокети
16.4. Модула IO::Socket
16.5. Достъп до HTTP ресурси и електрона поща. Модула LWP
-
( 1 час ) Системно програмиране и администрация
17.1. взаимодействие със shell обкръжението.
17.2. създаване на демони
17.3. преобразуване на данни с pack