468x60comp.hardware.ani.


| Содержание | Предисловие | В

Приложение Г

Темы, которых мы не коснулись

Как ни странно, даже при таком объеме книги некоторые вопросы все равно остались незатронутыми. Данное приложение содержит полезную дополнительную информацию.

Назначение этого раздела не обучить вас тем вещам, которые перечислены здесь, а просто дать их перечень. За дальнейшей информацией обращайтесь к книге

Полное межпроцессное взаимодействие

Да, Perl может оказать значительную помощь в создании сети. Кроме потоковых портов TCP/IP,Да, на основе Perl можно организовать сетевой обмен с использованием портов TCP/IP, доменных портов

Отладчик

В Perl есть чудесный отладчик, работающий на уровне исходного кода. О нем рассказывается на man-странице

Командная строка

При запуске интерпретатора Perl можно указывать множество ключей командной строки. См. man-страницу

Другие операции

Помимо упомянутых в книге, используются и другие операции. Например, операция "запятая". Есть также операции манипулирования битами &, I, Имеются также вариации операций, например, допускается использование модификатора д в операции сопоставления. Об этом и многом другом рассказывается на man-странице perlop(l).

Другие функции

В Perl очень много функций. Мы не собираемся здесь их все перечислять, потому что самый простой способ узнать о них

Функции grep и тар

Функция grep выбирает элементы из списка аргументов на основании результата выражения, которое многократно проверяется на

@bigpowers = grep $_ > 6, 1, 2, 4, 8, 16; # получает (8, 16) @b_names = grep /^Ъ/, qw(fred ba

Stextfiles = grep -T, <*>;

Функция map похожа на grep, но вместо выбора и отклонения элеме

@more = map $_ + 3, 3, 5, 7; # получает 6, 8, 10 @square s == map $_ * $_, 1. .10; # квадраты первыхCtriangle - map !..$_, 1..5; # 1,1,2,1,2,3,1,2,3,4,1,2,3,4,5 %sizes = map ( $_, -s ) <*>; # хеш файлов и размеров

Операция eval (и s///e)

Да, вы можете создать фрагмент кода во время работы программы и выполнить его при помощи функции eval точно так же, как вВот, например, программа, которая читает строку Perl-кода, вводимую пользователем, а затем выполняет ее так, как будто это часть Perl-программы:

print "code line: ";

choptScode = <STDIN” ;

eval $code; die "eval: $@" if $@;

Perl-код можно вставить в заменяющую строку при выполнении операции замены с помощью флага е. Это удобно, если вы хотите включить в заменяющую строку нечто сложное, например, вызов подпрограммы

while (о) (

s/" (\S+)/$l+l/e; f $1+1 is Perl code, not a string

printf;

}

Функция evai используется также как механизм обработки исключений:

eval {

some_hairy_routine_that_might_die(Oargs);

};

if ($0) (

print "oops... some_hairy died with $@";

1

Здесь массив $@ пуст до тех пор, пока блок eval работает нормально, а в противном случае этот блок выдает "сообщение о смерти".

Из этих трех конструкций (eval "строка", eval { БЛОК }

Предопределенные переменные

Вы уже знакомы с несколькими предопределенными переменными, например, с переменной $_. Их гораздо больше. В дело их обозна

Обработка таблицы символов с помощью *FRED

Вы можете сделать b псевдонимом для а с помощью операции *Ь =

Дополнительные возможности регулярных выражений

Регулярные выражения могут иметь "расширенный" синтаксис (в котором пробельные символы не обязательны, поэтому регулярное выражение может разбиваться на несколько строк и содержать обыч

Пакеты

Если над вашим проектом работает много людей или если вы большой оригинал, вы можете создать пространство имен переменны

= 123; # это на самом деле $main::a $main::a++; # та же пере

print $a - $roain::a; t выводит 456-124

package main; t возврат к первоначальному значению по умолчанию

print + $fred::a; t выводит 124+456

Таким образом, любое имя с явным именем пакета используется как есть, а все остальные имена считаются принадлежащими текущему пакету, который принят по умолчанию. Пакеты локальны для текущего ф

Встраиваемость и расширяемость

"Внутренности" Perl определены достаточно хорошо для того, чтобы встраивание компилятора-интерпретатора

Поскольку Perl можно получить бесплатно, вы можете написать собственную программу создания электронных таблиц, используя встроенны

Вопросы безопасности

Perl создавался с учетом требований безопасности. Посмотрите в главе 6 книги Pr

Операторы swithch и case

Нет, таких операторов в Perl нет, но их легко создать с помощью базовых конструкций. См. главу 2

Прямой ввод-вывод: sysopen, sysread, syswrite, sysseek

Иногда средства ввода-вывода Perl оказываются слишком высокоуровневыми для стоящей перед вами задачи. В главе

Компилятор Perl

Хотя мы говорим, что Perl компилирует ваш код перед тем, как его выполнять, эта скомпилированная форма не является "родным" объек

Поддержка баз данных

Да, Perl может обеспечить непосредственное взаимодействие с коммерческими серверами баз данных, включая

Сложные структуры данных

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

Указатели на функции

Perl может сохранять и передавать указатели на функции посредством записи вида \&funcname, а также

И прочее

Perl с каждым днем становится все более мощным и полезным, поэтому оперативное обновление посвященной ему документации




|     Назад     |


| Содержание | Предисловие | В



Сайт создан в системе uCoz