Учебные материалы по математике | Программирование на perl | Matematiku5
Вузы по математике Готовые работы по математике Как писать работы по математике Примеры решения задач по математике Решить задачу по математике online

Программирование на perl


Программирование на PERL.

PERL – Practical Extraction and Report Language

(Практический язык извлечений и отчетов)

Автор языка – Ларри Уолл создатель и главный архитектор.

Распространяется бесплатно

Работает на:

—  UNIX

—  OS/2

—  VMS

—  Macintosh

—  MS-DOS

—  Windows 95 и NT

Источники:

http://www. perl. com/CPAN

Много зеркал этого сервера

Литература

1.  Р. Шварц, Т. Кристиансен «Изучаем PERL» K.:BHV, 1998-320с

2.  Ст. Холзнер «PERL: Спец. Справочник» СПб.:”Питер”,2000-496с.

3.  Т. Кристиансен Н. Торкингтон “PERL: библиотека программиста” СПб.:”Питер” 2000-736с.

4.  К. Петтчет, М. Райт “CGI/PERL: создание программ для WEB”. K.:BHV, 1999-624c.

5.  Сервер UNIX PMI ftp://194.44.183.180/pub/DOC/Perl

6.  Larry Wall, Randal L. Schwartz “Programming Perl” (в файлах)

7.  Man – страницы в UNIX

Perl работает и как компилятор и как интерпретатор:

—  перед выполнением первого оператора программа полностью считывается и анализируется (разбирается)

—  объектного кода нет

—  создается версия компилятора

Назначение

1.  Работает с текстом:

—  поиск

—  извлечение

—  замена

с применением Регулярных выражений. Это обобщение операций

grep, awr, sed и языка shell

2.  Составление отчетов – оформление форматов как для Basic

3.  Работа с базами данных

4.  CGI – программирование

Строение программы

1.  Первая строка

#!/usr/bin/perl –w

Единственный комментарий, который обрабатывается. Он говорит

—  о том, что программа написана на Perl и где находится модуль Perl. exe;

—  ключ – w для показа о потенциально опасных конструкциях.

2.  Комментарий начинается с символа # и до конца строки.

3.  Каждый оператор заканчивается ;, т. е. точкой с запятой (кроме последнего оператора в блоке или файле).

4.  Пробельные символы ставятся не всегда, т. е. их можно опускать.

5.  В функциях аргументы можно без круглых скобок, если функции определены ранее.

Типы данных

1.  Скалярные:

— числа

—  строки

2.  Массивы и списки

3.  Хеши

Скалярные данные

—  простейший вид данных

—  над ними разные операции

—  скалярную величину можно сохранять в скалярной переменной, имя которой должно начинаться с символа $

—  количество символов в имени <=255

Числа

—  один внутренний формат т. е. значения с ПЗ двойной точности (в Си = double)

—  константы (в Perl литералы)

125 125.0

1.25е2 -1.25е-2

1.25Е2

1_257_348 = 1257348

—  восьмеричные числа начинаются с нуля (0);

—  шестнадцатеричные – с 0x или 0X (0/9, A/F в любом регистре)

Строки

—  символ – это байт из 256-символьного набора;

—  самая короткая – нет ни одного символа;

—  самая длинная — заполняет всю наличную память;

—  литералы могут быть в одинарных и двойных кавычках.

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

—  одинарные кавычки не являются частью строки

—  все символы внутри кавычек действительны

Исключение:

—  для вставки одинарной кавычки и обратной косой черты надо поставить перед ними обратный слеш.

Примеры

‘hello’ hello

‘don’t’ don’t

‘’ пустая

‘hello\me’ hellome

‘hellon’ hellon

как два символа

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

—  как Си – строка;

—  сочетание обратного слеша и символа дает управляющий символ.

Примеры

“hello n world” hello

world

“core t sprite” (символ табуляции)

Управляющие символы

n – переход на новую строку

r – возврат каретки

t – табуляция

b – возврат на предыдущую позицию (backspase)

a – сигнал

e – Escape

07 – восьмеричное ASCII – значение 07 – сигнал

x7f – 16–ричное значение 7F – удалить

сС – управляющий символ (здесь Ctrl + C)

\ — обратная косая

” – двойная кавычка

l – перевод следующей буквы в нижний реестр

L – перевод в нижний реестр всех следующих букв до E

u – перевод в верхний реестр следующей буквы

U – всех букв в верхний реестр до E

Q – заключить в обратные косые все небуквенные и все нецифровые символы до E

E – отмена действия L, U, Q

В двойных кавычках возможна интерполяция переменных, т. е. замена переменных их значениями.

Скалярные операции

А. Над числами

+ — * /

14/5 2.8

** — возведение в степень

% — остаток от деления

10 % 3 1

10.5 % 3.2 как 10 % 3

Б. Над строками

. — конкатенация

“hello”.”world” “hello world”

В. Сравнения

Сравнение чисел строк

Равно == eq

Неравно!= ne

Меньше чем < lt

Больше чем > gt

Меньше чем

или равно <= le

Больше чем

или равно >= ge

7<30 true

“7” le “30” false

Г. Повторение строки

Знак операции x (строчная буква):

—  левый операнд конкатенируется столько раз, каково число в правом операнде

—  число в правом операнде всегда усекается до целого

Примеры

“fred” x 3 “fredfredfred”

“cool” x (1+1) “coolcool”

(3+2) x 4 “5555”

4 x (3+2) “44444”

Т. е. операция повторения некоммутативная

Д. Преобразование чисел в строки и обратно

Для десятичных чисел автоматически, если не совпадает тип операнда и его представление

а) “123.45fred” 123.45

Здесь нечисловые окончания и начальные проблемы игнорируются

б) “X”.(4*5) “X”.20 “X20”

в) Для преобразования строковых чисел в 16 и 8 значения надо применять функции hex и oct

Оператор присвоения

(Знак =)

$a = 17

$b = $a + 3

$b = $b * 2

Как и в Си может быть сочетание присвоения и выражения:

$b = 4 + ($a = 3) $a = 3 $b = 7

$d = ($c = 5)

эквивалентно

$d = $c = 5

Присваивание с вычислением

$a = $a + 5 º $a += 5

+=

-=

*=

/=

%=

**=

.=

Авто инкремент и авто декремент

Как в Си

++ $a

— префиксная

— $b

$a ++

— суффиксная

$b —

—  Только над переменными

—  Можно и для значений с ПЗ

Функции chop и chomp

1.  chop (имя переменной);

Удаляет последний символ

$a = “hello”;

chop($a); $a = “hell”

Нельзя $a = chop($a)

2.  chomp – удаляет последний символ, если он только "n".

$a = “hellon”;

chomp($a); ` $a = “hello”

Если еще раз chomp($a);

то $a останется прежним, т. е. $a = “hello”

Наташа

Автор

Наташа — контент-маркетолог и блогер, но все это не мешает ей оставаться адекватным человеком. Верит во все цвета радуги и не верит в теорию всемирного заговора. Увлекается «нефрохиромантией» и тайно мечтает воссоздать дома Александрийскую библиотеку.

Распродажа дипломных

 Скидка 30% по промокоду Diplom2020