Изучаем Perl


Управляющие структуры


Глава 3 "Массивы и списочные данные" 1 Вот один из способов решения этой задачи
print "Enter the list of strings:\n";@list = <STDIN>;Sreverselist = reverse @list;print @reverselist;Первая строка приглашает ввести строки. Вторая строка считывает эти строки в п...
Глава 4 "Управляющие структуры"
Глава 4 "Управляющие структуры"1. Вот один из способов решения этой задачи: print "What temperature is it? ";chomp($temperature °° <STDIN>);if ($temperature > 72) { pr...
Глава 5 "Хеши" 1 Вот один из способов решения этой задачи
%map = qwfred apple green leaves blue ocean);print "A string please: "; chomp($some_string = <STDIN>);print "The value for $some_string is $map($some_string(\n";Первая с...
Глава 6 "Базовые средства вводавывода^ 1 Вот один из способов решения этой задачи
print reverse о;Вас, может быть, удивит краткость этого ответа, но он, тем не менее, верен. Вот как работает этот механизм: а) Сначала функция reverse ищет список своих аргументов. Это значит, чт...
Глава 7 "Регулярные выражения"
Глава 7 "Регулярные выражения"1. Вот несколько возможных ответов: а) /а+ь*/б) /\\*\**/ (Вспомним, что обратная косая черта отменяет значение следующего за ней специального символа.)в) /...
Глава 8 "Функции" 1 Вот один из способов решения этой задачи
sub card { my %card_map;@card_map(l..9} = qw (one two three four five six seven eight nine ); my($num) = @_; if ($card_map($num}) { return $card_map($num}; ) else (return $num; ) } # driver routi...
Глава 9 "Разнообразные управляющие структуры "
Глава 9 "Разнообразные управляющие структуры "1. Вот один из способов решения этой задачи: sub card (} # из предыдущего упражненияwhile О ( ## НОВОЕ ## print "Enter first number: &q...
Глава 10 "Дескрипторы файлов и проверка файлов"
Глава 10 "Дескрипторы файлов и проверка файлов"1. Вот один из способов решения этой задачи: print "What file? ";chomp($filename = <STDIN>);open(THATFILE, "$filename&...
Глава 11 "Форматы"
Глава 11 "Форматы"1. Вот один из способов решения этой задачи: open(PW,"/etc/passwd") II die "How did you get logged in?";while (<PW>) (($user,$uid,$gcos) = (sp...
Глава 12 "Доступ к каталогам"
Глава 12 "Доступ к каталогам"1. Вот один из способов решения этой задачи: print "Where to? ";chomp($newdir = <STDIN>) ;chdir($newdir) II die "Cannot chdir to $newdir...
Глава 13 "Манипулирование файлами и каталогамиff 1 Вот один из способов решения этой задачи
unlink @ARGV;Да, именно так. Массив @argv — это список имен, подлежащих удалению. Операция unlink получает список имен, поэтому нам нужно лишь соединить два этих компонента, и дело сделано.Конечн...
Глава 14 "Управление процессами"
Глава 14 "Управление процессами"1. Вот один из способов решения этой задачи: if ('date' =~ /"S/) ( print "Go play!\n"; } else ( print "Get to work!\n"; }Оказывае...
Глава 15 "Другие операции преобразования данных " 1 Вот один из способов решения этой задачи
while (о) { chomp; $slash = rindex ($_,"/");if ($slash > -1) ($head = substr($_,0,$slash); $tail = substr($_,$slash+l); } else ( ($head,$tail) = ("", $_) ; ) print "he...
Глава 16 "Доступ к системным базам данныхff 1 Вот один из способов решения этой задачи
while (@pw == getpwent) { ($user, $gid, $gcos) - @pw(0,3,6); ($real) = split /,/, $gcos;$real($user) = $real;$members($gid} .= " $user";($last) = (split /\s+/, $real)(-l);51ast($user)...
Глава 17 "Работа с пользовательскими базами данных" 1 Вот один из способов решения этой задачи
dbmopen(%ALIAS, "/etc/aliases", undef) II die "No aliases!: $!"; while (($key,$value) - each(tALIAS)) (chop($key,$value) ; print "$key $value\n"; 1Первая строка откр...
Глава 18 "Преобразование других
for (;;) ( ($user,$home) = (getpwent)[0,7];last unless $user;next unless open(N,"$home/.newsrc");next unless -M N < 30; ## added value :-) while (<N>) f if (/^comp\ . lang\ .pe...
Глава 19 "CG1программирование" 1 Вот один из способов решения этой задачи
use strict;use CGI qw (:standard);print header(), start_html("Add Me"It-print hi("Add Me") ;if (paramO) {my $nl = param('fieldl');my $n2 = param('field2');my $n3 = $n2 + $nl;...
Приложение Б
Приложение Б...
Библиотеки и модули
Библиотеки и модулиДля простых программ вы уже теперь можете свободно писать собственные Perl-подпрограммы. Когда же задачи, для решения которых вы применяете Perl, станут более сложными, вам иног...
Терминология
ТерминологияПеред тем как дать перечень всех стандартных модулей, давайте разберемся в терминах.Пакет Пакет — это простое устройство управления пространством имен, позволяющее в каждой из двух раз...
Стандартные модули
Стандартные модулиНиже приведен перечень всех Perl-прагм и модулей, входящих в текущий дистрибутив языка (версия 5.004). Классификация модулей произвольная.Таблица Б. 1. Общее программирование: р...
CPAN не только стандартная библиотека
CPAN: не только стандартная библиотекаЕсли вы не можете найти в стандартной библиотеке модуль, соответствующий вашим потребностям, все равно существует вероятность, что кто-то уже написал код, кот...
Приложение Г
Приложение Г...
Темы которых мы не коснулись
Темы, которых мы не коснулисьКак ни странно, даже при таком объеме книги некоторые вопросы все равно остались незатронутыми. Данное приложение содержит полезную дополнительную информацию.Назначени...
Полное межпроцессное взаимодействие
Полное межпроцессное взаимодействиеДа, Perl может оказать значительную помощь в создании сети. Кроме потоковых портов TCP/IP, которые мы рассматривали в приложении В, Perl поддерживает также (если...
Отладчик
ОтладчикВ Perl есть чудесный отладчик, работающий на уровне исходного кода. О нем рассказывается на man-странице perldebug(l)....
Командная строка
Командная строкаПри запуске интерпретатора Perl можно указывать множество ключей командной строки. См. man-страницу perlrun(\')....
Другие операции
Другие операцииПомимо упомянутых в книге, используются и другие операции. Например, операция "запятая". Есть также операции манипулирования битами &, I, л и ~, трехместная операция ?...
Другие функции
Другие функцииВ Perl очень много функций. Мы не собираемся здесь их все перечислять, потому что самый простой способ узнать о них — это прочитать раздел о функциях в книге Programming Perl и man-с...
Предопределенные переменные
Предопределенные переменныеВы уже знакомы с несколькими предопределенными переменными, например, с переменной $_. Их гораздо больше. В дело их обозначения вовлечены почти все знаки препинания. Зде...
Обработка таблицы символов с помощью *FRED
Обработка таблицы символов с помощью *FREDВы можете сделать b псевдонимом для а с помощью операции *Ь = *а. Это значит, что $а и $Ь обозначают одну и ту же переменную, равно как @а и @ь, и даже де...
Дополнительные возможности регулярных выражений
Дополнительные возможности регулярных выраженийРегулярные выражения могут иметь "расширенный" синтаксис (в котором пробельные символы не обязательны, поэтому регулярное выражение может р...
Пакеты
ПакетыЕсли над вашим проектом работает много людей или если вы — большой оригинал, вы можете создать пространство имен переменных с помощью пакетов. Пакет — это просто скрытый префикс, который ста...
Встраиваемость и расширяемость
Встраиваемость и расширяемость"Внутренности" Perl определены достаточно хорошо для того, чтобы встраивание компилятора-интерпретатора Perl в другое приложение (так, как это уже сделано с...
И прочее
И прочееPerl с каждым днем становится все более мощным и полезным, поэтому оперативное обновление посвященной ему документации — довольно сложная задача. (Кто знает, может быть, к дню появления эт...
Ссылки
Ссылки...
Где найти упражнения
Упражнения, приведенные в этой книге, можно получить в электронном варианте разными способами: по FTP, FTPMAIL, BITFTP и UUCP. Самые дешевые, самые быстрые и самый легкие способы указаны первыми....
FTP
    Чтобы использовать FTP, вам понадобится компьютер, имеющий непо-средственный выход в Internet. Ниже приведен пример сеанса связи. % ftp ftp.ora .corn Connected to ftp.uu.ne...
FTPMAIL
FTPMAIL — это почтовый сервер, доступный каждому, кто имеет воз-можность посылать электронную почту на узлы Internet и получать ее оттуда. Доступ к FTPMAIL обеспечивают все провайдеры Internet, пр...
BITFTP
    BITFTP — это почтовый сервер для пользователей сети BITNET. Вы посылаете на него сообщения электронной почты с запросами на получение файлов, а сервер посылает по электронн...
UUCP
Если у вас или у вашей организации есть доступ к UUNET, это значит, что у вас должна быть система, имеющая прямое UUCP-соединение с этой сетью. Найдите эту систему и введите (в одну строку): uucp...
Телеконференции Usenet
    Телеконференции по Perl — неиссякаемый источник информации (прав-да, иногда беспорядочной) о языке. Телеконференция comp.lang.perl.an-nounce — с низким трафиком, использует...
Домашняя страница Perl
Если у вас есть доступ к World Wide Web, посетите домашнюю страницу Perl по адресу http://www.perl.com/perl/. Здесь вы узнаете, что нового произош-ло в мире Perl, сможете получить исходный код и н...
Сборник часто задаваемых вопросов
    Часто задаваемые вопросы (FAQ) по Perl — это собрание вопросов и ответов, которые часто появляются в телеконференции comp.lang.perl.misc. Во многих отношениях это собрание...
Сообщения о дефектах
В том невероятном случае, если вы наткнетесь на дефект не в вашей собственной программе, а в самом Perl, постарайтесь проверить его на мини-мальном по объему контрольном примере, а затем документи...
Как распространяется Perl
    Perl распространяется по одной из двух лицензий (на ваш выбор). Первая — стандартная форма GNU Copyleft. Коротко говоря, это означает, что если вы можете выполнять Perl в с...
Другие книги
Programming Perl — полный справочник по Perl, тогда как нашу книгу скорее можно назвать пособием. Если вы хотите больше узнать о регулярных выражениях, используемых в Perl, предлагаем вам книгу Ma...
Как получить Perl
    Основной пункт распространения Perl — это Comprehensive Perl Archive Network, или CPAN (Сеть полных Perl-архивов). Эти архивы содержат не только исходный код, но и практиче...
Использование анонимного FTP
Если вам никогда не приходилось пользоваться анонимным FTP, разберите приведенный ниже пример сеанса с комментариями. Текст, набранный жир-ным шрифтом — это то, что вы должны вводить с клавиатуры;...
Как выбирать модули
    Процесс выборки и построения отдельных модулей Perl протекает немного по-другому. Скажем, вы хотите построить и инсталлировать модуль CoolMod. Сначала нужно выбрать его, во...
Обозначения принятые в книге
В нашей книге используются следующие обозначения: Курсивиспользуется для имен файлов и команд. Курсивом также выделяются термины при первом употреблении. Моноширинный шрифт используется в примерах...
Поддержка
Perl — это детище Ларри Уолла, и он все еще продолжает с ним нянчиться. Сообщения о дефектах и требования всевозможных улучшений, как правило, учитываются в следующих редакциях, но Ларри вовсе не...
Благодарности первое издание
    Во-первых, я от всего сердца благодарю Чика Уэбба и фирму Taos Mountain Software (Кремниевая долина). Ребята из TMS предоставили мне возможность написать для них (при значи...
Благодарности второе издание
Я хотел бы поблагодарить Ларри Уолла за создание Perl, членов группы Perl Porters за их постоянные усилия по сопровождению языка и все Perl-сообщество за готовность помогать друг другу.  &nbs...
Пожалуйста пишите нам
    Комментарии и вопросы по этой книге направляйте, пожалуйста, в издательство по адресу:     О ' Reilly & Associates 101 Morris Street Sebastopol, CA...








- Начало -    


Книжный магазин