Скриптовые языки на примере Perl. Языки программирования Скриптовые Программа (или ее бай-код) интерпретируется Зачастую более высокий уровень абстрагирования.

Slides:



Advertisements
Similar presentations
A primer on Perl programming First structures (with examples)
Advertisements

1/12 Steven Leung Very Basic Perl Tricks A Few Ground Rules File I/O and Formatting Operators, Flow Control Statements Regular Expression Subroutines Hash.
IF statement (i) Single statement. IF ( logical expression ) statement Example: read(*,*) a if (a. lt. 0) a = -a write(*,*) a Or read(*,*) a if (a < 0)
● Perl reference
Programming Perls* Objective: To introduce students to the perl language. –Perl is a language for getting your job done. –Making Easy Things Easy & Hard.
Автоматическая генерация кода программ с явным выделением состояний Канжелев С.Ю. магистрант СПбГУ ИТМО Шалыто А.А. доктор технических наук профессор СПбГУ.
CSET4100 – Fall 2009 Perl Introduction Scalar Data, Operators & Control Blocks Acknowledgements: Slides adapted from NYU Computer Science course on UNIX.
Bioinformatics Lecture 7: Introduction to Perl. Introduction Basic concepts in Perl syntax: – variables, strings, input and output – Conditional and iteration.
Некомпенсаторное агрегирование и рейтингование студентов Авторы: Гончаров Алексей Александрович, Чистяков Вячеслав Васильевич. НФ ГУ ВШЭ 2010 год.
ПРИНЦИПЫ РАЗРАБОТКИ СИСТЕМЫ КЛАССА LEARNING MANAGEMENT SYSTEM И ОПЫТ ЕЕ ИСПОЛЬЗОВАНИЯ НА ФАКУЛЬТЕТЕ МЕНЕДЖМЕНТА Афанасьева С.В. Кафедра бизнес-информатики.
ООП Классы – 2. Ссылки Ссылка – еще одно имя объекта. Используйте ссылки вместо указателя. Это более безопасно. Complex c(10,10); Complex c2& = c; c2+=10;
Язык JavaScript Скриптовый язык для выполнения на html-страницах.
Программирование на стороне сервера. Языки для программирования на стороне сервера Языки программирования: Perl PHP Java Технология Microsoft для использования.
Сравнение различных методов хранения XML в реляционных базах данных и в разных системах. Нгуен Тхань Хуен- 545 группа Руководитель : Б.А. Новиков Рецензент:
PHP как язык программирования. Типы данных логические величины int, integer – целые числа real, double, float – вещественные числа string – строки array.
"The European Molecular Biology Open Software Suite"
Оптимизация Just – in - time компилятора методом профилирования значений Соколов Андрей Владимирович, ФФ НГУ, 3 курс, Руководитель:
О некоторых особенностях статистического распределения малых тел Солнечной системы Б.Р. Мушаилов, В.С. Теплицкая.
ВЫЧИСЛЕНИЕ В ЛИСПЕ Функциональное программирование Григорьева И.В.
Деревья и их представление в STL Презентацию подготовила Чиркова Ольга, 2 подгруппа, группа 271ПИ.
Текстовый процессор Word. Возможности программы Word 1. Работа с текстами: ввод текста; редактирование текста; форматирование текста (изменение параметров.
Синтаксис языка Java.
Пользовательские действия (custom actions) в JSP. JSTL.
Реализация XPath над S-выражениями 2007 Миленин Евгений, гр. 544 Кафедра Системного Программирования Математико-Механический ф-т, СПбГУ Научный руководитель:
CSC3530 Software Technology Tutorial Two PERL Basics.
Демидов А.В г. Операционные системы Лекция 4 Работа с файлами.
Обработка исключительных ситуаций, работа с файлами  Исключительные ситуации  Классы File, InputStream, RandomAccessFile, FileReader, BufferedReader,
Perl Programming WeeSan Lee
Введение в программирование на языке ассемблера. Формат инструкции на языке ассемблера Директива Команда Макрокоманда МеткаОперандыКомментарий.
INFSO-RI Enabling Grids for E-sciencE Управление заданиями в GRID. Н. Клопов ПИЯФ, Гатчина.
«Отгадай символы Рождества»
Introduction to Perl Part I By: Cédric Notredame (Adapted from BT McInnes)
1 Perl Perl basics Perl Elements Arrays and Hashes Control statements Operators OOP in Perl.
1 Учебный курс Введение в JavaScript и CGI Лекция 4 Работа с графикой, гипертекстовые переходы и синтаксис языка кандидат технических наук Павел Брониславович.
1 R E F R I G E R A T I O N A N D A I R C O N D I T I O N I N G Как обновить программное обеспечение в AK-SC 255.
Introduction to Perl Programming Morris Law December 8, 2012.
Perl By Gabe and Ted. History Perl was created by Larry Wall while working at NASA’s Jet Propulsion Labs. Larry Wall also created patch which is in widespread.
Perl Practical(?)‏ Extraction and Report Language.
Объектные интерфейсы (.NET) «Школа Инноваций InterSystems 2007»
Язык программирования C#
Bioinformatics 生物信息学理论和实践 唐继军
Perl Language Yize Chen CS354. History Perl was designed by Larry Wall in 1987 as a text processing language Perl has revised several times and becomes.
Perl: Lecture 1 The language. What Perl is Merger of Unix tools – Very popular under UNIX – shell, sed, awk Programming language – C syntax Scripting.
Prof. Alfred J Bird, Ph.D., NBCT Office – McCormick 3rd floor 607 Office Hours – Tuesday and.
Perl Basics. sh-bang !!!! Every perl program starts with a sh-bang line #!/usr/bin/perl # hello.pl printf “Hello, world!\n”; printf STDOUT “Hello, world!\n”;
Getting started in Perl: Intro to Perl for programmers Matthew Heusser – xndev.com - Presented to the West Michigan Perl User’s Group.
Topic 2: Working with scalars CSE2395/CSE3395 Perl Programming Learning Perl 3rd edition chapter 2, pages 19-38, Programming Perl 3rd edition chapter.
Introduction to Perl NICOLE VECERE. Background General Purpose Language ◦ Procedural, Functional, and Object-oriented Developed for text manipulation.
Department of Electrical and Computer Engineering Introduction to Perl By Hector M Lugo-Cordero August 26, 2008.
Introduction to Perl. What is Perl Perl is an interpreted language. This means you run it through an interpreter, not a compiler. Similar to shell script.
Anekdot ANDROID CLUB Сегодня  Navigation Drawer  CardView  Calligraphy  TextToSpeech.
Computer Programming for Biologists Class 4 Nov 14 th, 2014 Karsten Hokamp
РНР. Уровень 4. Проектирование и разработка сложных веб-проектов на РНР 5 Шаблон проектирования MVC.
Scripting Languages ● Perl, Python, Unix Shell, VB, JavaScript, etc. ● Glue Languages. ● Typeless. ● Interchangeable Code and Data. ● Interpreted vs. Compiled.
PERL By C. Shing ITEC Dept Radford University. Objectives Understand the history Understand constants and variables Understand operators Understand control.
«Центр Разработки и Внедрения Террасофт Поволжье»
File Handle and conditional Lecture 2. File Handling The Files associated with Perl are often text files: e.g. text1.txt Files need to be “opened for.
The Scripting Programming Language
CSC 4630 Perl 3 adapted from R. E. Beck. Problem But we worked on it first: Input: Read from a text file named in a command line argument Output: List.
OpenCL. #include int main() { cl_platform_id platform[10]; cl_uint num_platforms; clGetPlatformIDs(10, platform, &num_platforms); cl_int clGetPlatformIDs.
Опыт подготовки программистов в нижегородском институте информационных технологий (НИИТ) Кащеев Николай Иванович директор НИИТ.
SDL TRADOS 2006 Сокращение затрат и удвоение производительности: лингвистические технологии на основе баз данных от ведущей компании.
JavaScript
Быстрое введение в язык C++
Control Structures: for & while Loops
Programming Perls* Objective: To introduce students to the perl language. Perl is a language for getting your job done. Making Easy Things Easy & Hard.
CSC 352– Unix Programming, Fall 2012
INTRODUCTION to PERL PART 1.
Presentation transcript:

Скриптовые языки на примере Perl

Языки программирования Скриптовые Программа (или ее бай-код) интерпретируется Зачастую более высокий уровень абстрагирования от системы Минимум риска «завалить» всю систему Кроссплатформенность Компилируемые Программа транслируется в машинные коды Быстродействие Более полный доступ к ресурсам системы Perl – предварительно компилируемый ( скриптовый ) язык программирования высокого уровня. Основной особенностью языка считаются его богатые возможности по работе с текстом. #!/usr/bin/perl -w print "Hello, world!";

Типы данных Скаляр $index числа, строки и ссылки тип определяется динамически упорядоченный список скаляров обращение к элементу: $array[10] Хэш-таблица %hash Ключ => скаляр обращение к элементу: $hash{ “key” } keys( %hash ) – массив ключей

Операции и выражения Аналогичные используемым в языке С +, -, *, /, % ++, -- ==, !=,, = &&, ||, ! &, |, ^, ~, > =, +=, -=, *=, /=, %=, &=, |=, ^=, >=, &&=, ||=, x ? y : z [] Уникальные **. (конкатенация) x (повторение) eq, ne, lt, gt, le, ge, cmp or, and, not, xor.=, x= \ (ссылка), -> =~, !~, m//, s///, tr/// print `команда` <>.. => {}

Операторы Условные If и unless (модификатор) If {…} else {…} If {…} elsif {…} … else {…} Цикловые while и until foreach for last next redo

Ввод-вывод Оператор Оператор print

Простейшая работа с файлами Дескриптор – это символическое имя, которое используется для представления файла Открытие файлов: open дескриптор, имя_файла_c_префиксом Префиксы: ( запись), >> ( добавление ) Возвращает 0 в случае успешного выполнения. Закрытие файлов: close дескриптор Чтение из файлов: Запись в файлы: print дескриптор

Работа со строками Регулярные выражения По сути это строки-шаблоны, состоящие из символов и метасимволов (символы, имеющие специальное значение) и задающие определенные правила поиска строк. Метасимволы: \ - экранирование или отрицание. - одиночный символ ^ - начало строки $ - конец строки | - выбор [ ] - класс символов ( ) - группировка * - нуль и более повторений + - одно и более повторений ? - нуль или одно повторение { } - явное количество повторений Метапоследовательности: \n – символ новой строки \r – символ возврата каретки \t – символ табуляции \s – класс пробельных символ \d – цифровые символы \w – буквенно-цифровые символы

Подпрограммы и функции Определение: sub имя [(параметры)] [{ тело }]; Вызов: имя ( параметры); имя параметры; Определение локальных переменных: функции my и local Возврат значений: функция return Передача параметров:

Практическое задание 1.Шаблонный парсинг входной последовательности строк: bad -> good выходим, если встретили слово “exit” 2. Объединение данных из двух файлов в один Файл1: Anna 17 Pavel 20 Lena 40 Dima 25 Ivan 90 Файл2: Inna Ivan Marina Dima Нужныйрезультат: Name Age Phone Inna Pavel 20 - Marina Dima Ivan Anna 17 - Lena 40 -

Решение Задачи 1 while( <>) { exit() if /exit/; $_ =~ s/good/bad/; print $_; }

Решение Задачи 2 (часть 1) open FILE1, "f1"; open FILE2, = ; $file1_size = = ; $file2_size = $#file2; for( $i = 0; $i < $file1_size + 1; $i++) { if( $file1[$i] =~ /(\w+)\s+(\d+)/ ) { %{$name_hash{$1}} = ("age" => $2, "phone" => "-"); }

Решение Задачи 2 (часть 2) for( $i = 0; $i< $file2_size + 1; $i++) { if( $file2[$i] =~ /(\w+)\s+([0-9-]+)/ ) { if( defined $name_hash{$1} ) { $age = ${$name_hash{$1}}{"age"}; } else { $age = "-"; } %{$name_hash{$1}} = ("age" => $age, "phone" => $2); }

Решение Задачи 2 (часть 3) print "Name".(" " x 4)."Age".(" " x 4)."Phone\n"; foreach (keys( %name_hash)) { printf("%-8s", $_); printf("%-7s%s\n", ${$name_hash{$_}}{"age"}, ${$name_hash{$_}}{"phone"}); }

Спасибо за внимание. Вопросы?