Изучаем Perl

Ремень мебельный на сайте http://www.timhome.ru. | Взрослые проститутки новосибирск .|криптопро эцп купить

Назначение языка Perl


Глава 1 В этой главе История создания
Глава 1    В этой главе: История создания языка Perl Назначение языка Perl Доступность Основные понятия Прогулка по стране Perl Упражнение...
Введение История создания языка Perl
История создания языка PerlСлово Perl является аббревиатурой выражения Practical Extraction and Report Language (практический язык извлечений и отчетов), хотя иногда его называют Pathologically Ec...
Назначение языка Perl
Назначение языка PerlНазначение языка Perl — помочь программисту в выполнении рутинных задач, которые для shell слишком трудны или плохо переносимы, а также чересчур заумны, одноразовы или сложны...
Доступность
ДоступностьЕсли при попытке вызвать Perl из sneil вы получите сообщение perl: not foundэто значит, что вашего системного администратора еще не охватила Perl-лихорадка. Если язык Perl не инсталлиро...
Основные понятия
Основные понятияСценарий shell — это не что иное, как последовательность команд shell, оформленная в виде текстового файла. Этот файл затем превращается в исполняемый путем включения бита исполнен...
Прогулка по стране Perl
Прогулка по стране PerlНаше путешествие по стране Perl мы начнем с небольшой прогулки. В ходе этой прогулки мы ознакомимся с некоторыми возможностями языка Perl на примере небольшого приложения. З...
Упражнение
УпражнениеБольшинство глав завершаются упражнениями, ответы к которым даются в приложении А. Для этой главы ответы уже были даны выше. 1. Наберите программы-примеры и заставьте их работать. (Вам п...
Глава 2 В этой главе Что такое
Глава 2    В этой главе: Что такое скалярные данные Скалярные операции Скалярные переменные Скалярные операции и функции <STDIN> как скалярное значение Упражнения...
Скалярные данные Что такое скалярные данные
Что такое скалярные данныеСкаляр — это простейший вид данных, которыми манипулирует Perl. Скаляр — это либо число (допустим, 4 или 3.25е20), либо строка символов (например, hello или Gettysburg Ad...
Скалярные операции
Скалярные операцииОператор обозначает проведение определенной операции, благодаря которой создается новое значение (результат) из одного или нескольких других значений (операндов). Например, симво...
Скалярные переменные
Скалярные переменныеИмя переменной — это имя контейнера, который содержит одно или более значений. Имя переменной остается постоянным на протяжении всей программы, но значение (или значения), соде...
Скалярные операции и функции
Скалярные операции и функцииСамая распространенная операция, выполняемая над скалярной переменной — присваивание, которое представляет собой способ задания значения этой переменной. Операция присв...
<STDIN> как скалярное значение
<STDIN> как скалярное значениеЕсли вы — типичный хакер, то, вероятно, давно уже задаетесь вопросом:а как же ввести в Perl-программу какое-либо значение? Вот самый простой способ. Каждый раз,...
Упражнения
Упражнения Ответы к упражнениям приведены в приложении А.1. Напишите программу, которая вычисляет длину окружности с радиусом 12, 5. Длина окружности равна 2я (около 2 * 3,141592654) радиусам.2. М...
Глава 3
Глава 3В этой главе: Список и массив Литеральное представление Переменные Операции над массивами и функции обработки массивов Скалярный и списочный контексты <STDIN> как массив Интерполяци...
Массивы и списочные данные
Массивы и списочные данные...
Список и массив Список — это упорядоченные
Массивы могут иметь любое число элементов. Минимально возможный массив не имеет элементов вообще, тогда как максимально возможный может заполнять всю наличную память. Это еще одно подтверждение пр...
Литеральное представление Списочный
(1,2,3) # массив из трех значений 1, 2 и 3 ("fred",4.5) # два значения — "fred" и 4,5Элементы списка не обязательно должны быть константами. Это могут быть выражения, котор...
Переменные Переменнаямассив содержит
@fred # массив-переменная @fred @A_Very_Long_Array_Variable_Name @A_Very_Long_Array_Variable_Name_that_is_differentОтметим здесь, что переменная-массив @fred не имеет никакого отношения к скалярно...
Операции над массивами и функции
ПрисваиваниеВероятно, самая важная операция, проводимая над массивами -— операция присваивания, посредством которой переменной-массиву присваивается значение. Эта операция, как и скалярная операци...
Скалярный и списочный контексты
Как правило, это особого значения не имеет, но иногда в разных контекстах можно получить совершенно разные результаты. Например, в списочном контексте @fred возвращает содержимое массива Sfred, а...
<STDIN> как массив Одна
$а = <STDIN>; # читать стандартный ввод в списочном контекстеЕсли пользователь, выполняющий программу, введет три строки и нажмет [Ctrl+D]* (чтобы обозначить конец файла), массив будет сост...
Интерполяция массивов Как и скаляры
Ofred = ("hello","dolly");$у = 2;$х = "This is $fred[l]'s place"; # "This is dolly's place" $x = "This is $fred($y-l]'s place"; # To же самоеОт...
Глава 4
Глава 4В этой главе: Блоки операторов Оператор if/unless Оператор while/until Оператор for Оператор foreach Упражнения...
Управляющие структуры
Управляющие структуры...
Блоки операторов
Блоки операторовБлок операторов — это последовательность операторов, заключенная в парные фигурные скобки. Блок операторов выглядит следующим образом:( первыи_оператор;второй_оператор;третий_опера...
Оператор if/unless Следующей по
if (выражение) (оператор_1оператор_2оператор_3 } else {оператор_1оператор_2оператор_3 }(Если вы любите программировать на С и Java, то для вас должна быть вполне очевидной обязательность фигурных...
Оператор while/until
Оператор while/untilНи один язык программирования не был бы полным без какой-нибудь формы организации цикла* (повторяющегося выполнения блока операторов). Perl может организовать цикл с помощью оп...
Оператор for Еще одна конструкция
for ( начальное_выражение; проверочное_выражение ,• возобновляющее выражение ) (оператор_1;оператор_2; оператор_3; 1Если преобразовать этот оператор в те формы, которые мы рассмотрели раньше, то о...
Оператор foreach Еще одна циклическая
foreach $i (@список) {оператор_1;оператор_2; оператор_3; }В отличие от C-shell, в Perl исходное значение этой скалярной переменной при выходе из цикла автоматически восстанавливается; другими слов...
Глава 5
Глава 5В этой главе: Что такое хеш Хеш-переменные Литеральное представление хеша Хеш-функции Срезы хешей Упражнения...
Хеши
Хеши...
Что такое хеш Хеш* похож на массив
Элементы хеша не стоят в каком-то конкретном порядке. Можете рассматривать их как стопку библиографических карточек. Верхняя половина каждой карточки — это ключ, а нижняя — значение. Каждый раз, к...
Хешпеременные Имя хешпеременной
* В старой документации хеши назывались ассоциативными массивами, но мы настолько устали применять к столь распространенному понятию такой многосложный термин, что решили заменить его гораздо бо...
Литеральное представление хеша
Литеральное представление хешаУ вас может возникнуть необходимость обратиться к хешу целиком — например, чтобы инициализировать его или скопировать в другой хеш. Фактически в Perl никакого литерал...
Хешфункции В этом разделе перечислены некоторые функции предназначенные для обработки хешей
Функция keysФункция keys( %имя_хеша) выдает список всех текущих ключей, имеющихся в хеше %имя_хеша. Другими словами, применение этой функции эквивалентно возвращению всех элементов списка с нечетн...
Срезы хешей
Срезы хешейКак и в случае с переменной-массивом (или списочным литералом), можно воспользоваться срезом хеша, что даст возможность обращаться не к одному его элементу, а одновременно к набору элем...
Глава 6
Глава 6В этой главе: Ввод из STDIN Ввод из операции "ромб" Вывод в STDOUT Упражнения...
Базовые средства вводавывода
Базовые средства ввода-вывода...
Ввод из STDIN
Ввод из STDINЧтение со стандартного ввода (через Perl-дескриптор файла stdin) — несложная задача. Мы уже делали это в операции <stdin>. Выполняя эту операцию в скалярном контексте, мы получа...
Ввод из операции "ромб"
Ввод из операции "ромб"Другой способ чтения входной информации состоит в использовании операции "ромб" (О). По принципу работы она похожа на <stdin> — тем, что возвращает...
Вывод в STDOUT
Вывод в STDOUTДля посылки каких-либо данных на стандартный вывод в Perl служат функции print и printf. Давайте посмотрим, как они работают.Функция print — обычный выводМы уже пользовались функцией...
Упражнения
Упражнения Ответы к упражнениям даны в приложении А.1. Напишите программу, которая работает аналогично команде cat, но изменяет на обратный порядок следования всех строк всех файлов, указанных в к...
Глава 7
Глава 7В этой главе: Основные понятия Основные направления использования регулярных выражений Образцы Еще об операции сопоставления Операция замены Функции split и join Упражнения...
Регулярные выражения
Регулярные выражения...
Основные понятия Регулярное выражение
Регулярные выражения используются многими программами, в частности, UNIX-командами, программами grep, sed, awk, ed, vi, emacs и даже различными shell. В каждой программе используется свой набор ме...
Основные направления использования
grep abc somefile >resultsВ этом случае abc — регулярное выражение, которое команда grep сверяет с каждой входной строкой. Строки, соответствующие этому регулярному выражению, посылаются на ста...
"Операция замены" мы рассмотрим множество опций операции замены
"Операция замены", мы рассмотрим множество опций операции замены....
Образцы
ОбразцыРегулярное выражение — это образец. Одни части образца обозначают отдельные символы. Другие части соответствуют группам символов. Сначала мы рассмотрим образцы, соответствующие одному симво...
Еще об операции сопоставления
Выбор другого объекта для сопоставления (операция :='•)Обычно строка, которую нужно сопоставить с образцом, не находится в переменной $_, и помещать ее туда довольно утомительно. (Может быть, в пе...
Операция замены Мы уже говорили
Если вы хотите, чтобы замена выполнялась при всех возможных совпадениях, а не только при первом, добавьте в запись, задающую проведение операции замены, букву д, например:$_ = "foot fool buff...
Функции split и join Регулярные
Функция splitФункция split получает регулярное выражение и строку и ищет в этой строке все экземпляры указанного регулярного выражения. Те части строки, которые не совпадают с регулярным выражение...
Глава 8
Глава 8В этой главе: Определение пользовательской функции Вызов пользовательской функции Возвращаемые значения Аргументы Локальные переменные в функциях Полулокальные переменные, созданные при п...
Функции
ФункцииМы уже знакомы со встроенными пользовательскими функциями, например chomp, print и другими, и пользовались ими. Теперь давайте рассмотрим функции, которые вы можете определить сами....
Определение пользовательской функции
sub имя {оператор_1;оператор_2 ; оператор 3; }Здесь имя — это имя подпрограммы, которое может быть любым именем вроде тех, которые мы давали скалярным переменным, массивам и хешам. Вновь подчеркне...
Вызов пользовательской функции
say_hello(); # простое выражение$а = 3 + say_hello() # часть более сложного выраженияfor ($х = start_value(); $х < end_value(); $х += increment О) (} t вызов трех подпрограмм для определен...
Возвращаемые значения Вызов подпрограммы
Давайте, например, определим такую подпрограмму:sub sum_of_a and_b ( return $a + $b;}Последнее выражение, вычисляемое в теле этой подпрограммы (фактически единственное вычисляемое выражение), — су...
Аргументы
АргументыНесомненно, подпрограммы, выполняющие одно определенное действие, полезны, однако перед вами откроются совершенно новые горизонты, когда вы сможете передавать в подпрограмму аргументы.В P...
Локальные переменные в функциях
sub add { ту ($sum); # сделать $sum локальной переменной $sum =0; # инициализировать сумму * foreach $_ (@_) ( $sum += $ ; # прибавить все элементы } return $sum # последнее вычисле...
Полулокальные переменные созданные при помощи функции local
Полулокальные переменные, созданные при помощи функции localВ Perl существует еще один способ создания "частных" локальных переменных — с помощью функции local. Важно понять различия меж...
Создаваемые операцией my() переменные файлового уровня
Создаваемые операцией my() переменные файлового уровняОперацию my () можно также использовать на внешнем уровне программы, вне всех подпрограмм и блоков. Хотя в результате не будет получена "...
Глава 10
Глава 10В этой главе: Что такое дескриптор файла Открытие и закрытие дескриптора файла Небольшое отступление: функция die Использование дескрипторов файлов Операции для проверки файлов Функции s...
Дескрипторы файлов и проверка файлов
Дескрипторы файлов и проверка файлов...
Что такое дескриптор файла
Что такое дескриптор файлаДескриптор файла в Perl-программе — это имя соединения для ввода-вывода между вашим Perl-процессом и внешним миром. Мы уже видели дескрипторы файлов и пользовались ими, с...
Открытие и закрытие дескриптора
open(ДЕСКРИПТОР,"имя") ;где дескриптор — новый дескриптор файла, а имя — имя файла (или устройства), которое будет связано с новым дескриптором. Этот вызов открывает файл для чтения. Что...
Небольшое отступление функция die
Небольшое отступление: функция dieСчитайте этот раздел большой сноской, сделанной посреди страницы. Дескриптор файла, который не удалось успешно открыть, все равно может использоваться в программе...
Использование дескрипторов файлов
Использование дескрипторов файловПосле того как дескриптор файла открыт для чтения, из него можно читать строки точно так же, как со стандартного ввода stdin. Например, для чтения строк из файла п...
Операции для проверки файлов
Операции для проверки файловТеперь вы знаете, как открыть дескриптор файла для вывода, уничтожив существующий файл с таким же именем. Предположим, вы хотите удостовериться, что файла с таким имене...
Функции stat и Istat
Функции stat и IstatВышеупомянутые операции весьма эффективны при проверке различных атрибутов конкретного файла или дескриптора файла, но полную информацию с их помощью получить нельзя. Например,...
Упражнения
Упражнения Ответы приведены в приложении А.1. Напишите программу чтения имени файла из stdin, открытия этого файла и выдачи его содержимого с предварением каждой строки именем файла и двоеточием....
Глава 11
Глава 11В этой главе: Что такое формат Определение формата Вызов формата Еще о поледержателях Формат начала страницы Изменение в форматах установок по умолчанию Упражнения...
Форматы
Форматы...
Что такое формат Помимо всего
В Perl существует понятие шаблона для написания отчета, который называется форматом. В формате определяется постоянная часть (заголовки столбцов, метки, неизменяемый текст и т.д.) и переменная час...
Определение формата
Определение форматаФормат задается с помощью специальной конструкции, которая называется определением формата. Определение формата, как и подпрограмма, может стоять в любом месте программы. Выгляд...
Вызов формата Вызов формата производится
Давайте еще раз обратимся к формату адресной этикетки и создадим файл, в котором содержится несколько таких этикеток. Вот фрагмент программы:format ADDRESSLABEL =$name$address$city, $state, $z...
Еще о поледержателяж
Еще о поледержателяжИз примеров вы уже поняли, что поледержатель @““ обозначает выровненное по левому краю поле, которое содержит пять символов, а @“““““ — выровненное по левому краю поле, содержа...
Формат начала страницы Многие
Perl позволяет определять специальный формат начала страницы, с помощью которого запускается режим постраничной обработки. Perl подсчитывает все выходные строки, генерируемые при вызове формата дл...
Изменение в форматах установок по умолчанию
Изменение в форматах установок по умолчаниюМы часто говорим об использовании в тех или иных ситуациях значений "по умолчанию". В Perl имеется способ отмены этих "умолчаний" пра...
Глава 12
Глава 12В этой главе: Перемещение по дереву каталогов Развертывание Дескрипторы каталогов Открытие и закрытие дескриптора каталога Чтение дескриптора каталога Упражнения...
Доступ к каталогам
Доступ к каталогам...
Перемещение по дереву каталогов
Функция chdir в Perl принимает один аргумент — выражение; при его вычислении определяется имя каталога, который становится текущим. Как и в большинстве других системных вызовов, при успешном измен...
Развертывание
РазвертываниеЕсли в качестве аргумента в командной строке стоит звездочка (*), то shell (или тот интерпретатор командной строки, которым вы пользуетесь) интерпретирует ее как список имен всех файл...
Дескрипторы каталогов Если в вашей
Дескриптор каталога представляет собой соединение с конкретным каталогом. Вместо чтения данных (как из дескриптора файла) вы используете дескриптор каталога для чтения списка имен файлов в этом ка...
Открытие и закрытие дескриптора
opendir(ETC,"/etc") || die "Cannot opendir /etc: $!";После этого обычно следуют разного рода манипуляции с дескриптором каталога etc, но сначала, наверное, нужно разобраться, к...
Чтение дескриптора каталога Открыв
opendir(ETC,"/etc") II die "no etc?: $!";while ($name = readdir(ETC)) f t скалярный контекст, по одному на циклprint "$name\n"; #выводит ., .., passwd, group и т.д. 1...
Глава 13
Глава 13В этой главе: Удаление файла Переименование файла Создание для файла альтернативных имен: связывание ссылками Создание и удаление каталогов Изменение прав доступа Изменение принадлежност...
Манипулирование файлами и каталогами
Манипулирование файлами и каталогамиВ зтой главе мы покажем, как можно манипулировать самими файлами, а не только содержащимися в них данными. При демонстрации процедуры доступа к файлам и каталог...
Удаление файла Вы уже научились
Perl-функция unlink (названная по имени системного вызова POSIX) удаляет одно из имен файла (которнй может иметь и другие имена). Когда удаляется последнее имя файла и ни в одном процессе он не от...
Переименование файла
Переименование файлаВ shell UNIX имя файла изменяется с помощью команды mv. В Perl зта операция обозначается как rename {$старое,$новое). Вот как следует переименовать файл fred в barney:rename(&q...
Создание для файла альтернативных имен связывание ссылками
Создание для файла альтернативных имен: связывание ссылкамиИногда пользователю нужно, чтобы у файла было два, три, а то и дюжина имен (как будто одного имени файлу не хватает!). Операция присвоєнн...
Создание и удаление каталогов
mkdir ("gravelpit",0777) || die "cannot mkdir gravelpit: $!";UNIX-команда rmdir(l) удаляет пустые каталоги. В Perl єсть ее зквивалент с тем же именем. Вот как можно сделать Фре...
Изменение прав доступа Права доступа
chmod(0666,"fred","barney");Режим 0666 обозначает чтение и запись для владельца, группы и прочих пользователей, т.е. как раз то, что нам нужно. * В данном случае вы не создает...
Изменение принадлежности
Изменение принадлежностиКаждый файл в файловой системе (обычный, каталог, файл устройства и т.д.) имеет владельца и группу. Зги параметры определяют, кому принадлежат права доступа, установленные...
Изменение меток времени С кажднм
зто время последнего доступа, время последнего изменения и время послед-него изменения индексного дескриптора. Первым двум моткам времени можно присвоить произвольные значення с помощью функции ut...
Глава 14
Глава 14В этой главе: Использование функций system и ехес Использование обратных кавычек Использование процессов как дескрипторов файлов Использование функции fork Сводка операций, проводимых на...
Управление процессами
Управление процессами...
Использование функций system u
Аналогичным образом Perl-программа в состоянии запускать новые процессы и может делать зто, как и большинство других операций, несколь-кими способами.Самий простой способ запуска нового процесса —...
Использование обратных кавычек
$now = "the time is now".'date'; # получает текст и датуЗначение переменной $now теперь представляет собой текст the time is now и результат выполнения команди date(l) (включая конечний...
Использование процессов как дескрипторов
open(WHOPROC, "who 1"); # открнть who для чтенияОбратите внимание на вертикальную черту справа от who. Зта черта информирует Perl о том, что данная операция open относится не к имени фа...
Использование функции fork Еще
if (!defined($child_pid = fork()) { die "cannot fork: $!"; } elsif ($pid) {4s я — родительский процесе } else (# я — порожденннй процесе >Чтоби максимально зффективно использовать зто...
Сводка операций проводимых над процессами
Сводка операций, проводимых над процессамиОперации, служащие для запуска процессов, перечислены в таблице 14.1. Таблица 14.1. Операции запуска процессовОперацияСтандартний вводСтандартнийвыводСтан...
Передача и прием сигналов Один
Ответ на сигнал называется действием сигнала. Фиксированные сигналы выполняют определенные действия по умолчанию, например, осуществляют прерывание или приостановку процесса. Остальные сигналы по...
Глава 15
Глава 15В этой главе: Поиск подстроки Извлечение и замена подстроки Форматирование данных с помощью функции sprintf() Сортировка по заданным критериям Транслитерация Упражнения...
Другие операции преобразования данных
Другие операции преобразования данных...
Поиск подстроки Успех поиска подстроки
$х = index($сгрока,$подстрока)Perl находит первый зкземпляр указанной подстроки в заданной строке и возвращает целочисленный индекс первого символа. Возвращаемый ин-декс отсчитывается от нуля, т.е...
Извлечение и замена подстроки
Извлечение и замена подстрокиИзвлечь фрагмент строки можно путем осторожного применения регулярних виражений, но если зтот фрагмент всегда находится на известной позиции, такой метод незффективен....
Форматирование данных с помощью
$result = sprintf("X%05d",$y);Описание аргументов функции sprintf вы найдете в разделе sprintf главы 3 книги Programming Perl и на man-странице printf(3) (если она у вас єсть)....
Сортировка по заданным критериям
Чтобы задать порядок сортировки, следует определить программу срав-нения, которая задает способ сравнения двух злементов. Для чего она нужна? Нетрудно понять, что сортировка — зто размещение множе...
Транслитерация Если вам необходимо
Такое преобразование данных очень просто выполняется в shell с помощью стандартной команды tr(l):tr ab ba <indata >outdata(Если вы ничего не знаєте о командо tr, загляните на man-страницу tr...
Глава 16
Глава 16В этой главе: Получение информации о паролях и группах Упаковка и распаковка двоичных данных Получение информации о сети Упражнение...
Доступ к системным базам данных
Доступ к системным базам данных...
Получение информации о паролях
name:pa3swd:uid:gid:gcos:dir:shell Поля определены следующим образом: name Регистрационное имя пользователя passwd Зашифрованими пароль или что-нибудь простое, если используется теневой файл парол...
Упаковка и распаковка двоичных
По зтой причино написанные на Perl сетевые программы, ожидающие или возвращающие IP-адрес, используют четырехбайтовую строку, одному символу которой соответстввует один байт в памяти. Хотя констру...
Получение информации о сети Perl
Один из параметров, который вам приходится часто определять,— зто IP-адрес, соответствующий сетевому имени (или наоборот). В С вы преоб-разуете сетевое имя в сетевой адрес с помощью программы geth...
Упражнение
Упражнение Ответ см. в приложении А.1. Напишите программу, которая создает таблицу соответствия идентифи-каторов пользователей и реальних имен из записей файла паролей, а затем с помощью зтой табл...
Глава 17
Глава 17В этой главе: DBM-базы данных и DBM-хеши Открытие и закрытие DBM-хешей Использование DBM-хеша Базы данных произвольного доступа с записями фиксированной длины Базы данных с записями пере...
Работа с пользовательскими базами данных
Работа с пользовательскими базами данных...
DBMбазы данных и DBMхети В большинстве
Библиотека DBM довольно проста, но, учитывая ее доступность, неко-торые системные программы активно используют зту библиотеку для своих довольно скромных нужд. Например, sendmail (а также ее вариа...
Открытие и закрытие DBMхешей Чтобы
dbmopen(%ИМЯ МАССИВА, "имя_ОВМ-фа{та", $режим}Параметр %имя_массива — зто имя Perl-хеша. (Если в данном хеше уже єсть значення, они выбрасываются.) Хеш соединяется с DBM-базой данных, за...
Использование DBMхеша После открытия
$FRED{"fred"} = "bedrock"; # создать (или обновить) злемент delete $FRED("barney"}; # удалить злемент базн данных foreach $key (keys %FRED) ( # пройти по всем з...
Базы данных произвольного доступа
Например, у нас может быть ряд записей со следующими данными:40 символов — имя, один символ — инициал, 40 символов — фамилия и двухбайтовое целое — возраст. Таким образом, длина каждой записи сост...
Базы данных с записями переменной длины (текстовые)
Базы данных с записями переменной длины (текстовые)Многие системные базы данных ОС UNIX (й довольно большое число пользовательских баз данных) представляют собой набори понятных чело-веку текстовы...
Глава 18
Глава 18В этой главе: Преобразование awk-программ в Perl-программы Преобразование sed-программ в Perl-программы Преобразование shell-сценариев в Perl-программы Упражнение...
Преобразование других программ в Perlпрограммы
Преобразование других программ в Perl-программы...
Преобразование awkпрограмм в Perlпрограммы
Если у вас єсть а^-программа и вы хотите выполнить ее Perl-вариант, можно осуществить механическое Преобразование зтой программы с помо-щью утилиты а2р, которая єсть в дистрибутиве Perl. Зта утили...
Преобразование sedпрограмм в Perlпрограммы
Преобразование sed-программ в Perl-программыМожет быть, вам покажется, что мы повторяємся, но угадайте, что мы сейчас скажем? А вот что: Perl — семантическое надмножество не только awk, но и sed.С...
Преобразование shellсценариев в Perlпрограммы
Преобразование shell-сценариев в Perl-программыВы, наверное, подумали, что речь пойдет о конверторе, осуществляющем Преобразование shell-сценариев в Perl-программы?А вот и нет. Многие спрашивают о...
Глава 19
Глава 19В этой главе: Модуль CGI.pm Ваша CGI-программа в контексте Простейшая CGI-программа Передача параметров через CGI Как сократить объем вводимого текста Генерирование формы Другие компонен...
СGІпрограммирование
СGІ-программированиеЕсли в течение последних нескольких лет вы не сидели взаперти в деревянной хижине без злектричества, то вы наверняка слышали о World Wide Web. Web-адреса (больше известные как...
Модуль CGI pm Начиная с версии
Зтот модуль, который написал Линкольн Штейн, автор хорошо извест-ной книги How to Setup and Maintain Your Web Site, превращает процедуру создания CGI-программ на Perl в легкую прогулку. Как и сам...
Ваша CGIпрограмма в контексте
Ваша CGI-программа в контекстеНа Рисунок 19.1 показаны взаимосвязи между Web-броузером, Web-сервером и CGI-программой. Когда вы, работая со своим броузером, щелкаете на какой-либо ссылке, помните,...
Простейшая CGIпрограмма
Простейшая CGI-программаВот исходный код вашей первой CGI-программы. Она настолько проста, что в ней даже не пришлось использовать модуль CGI.pm:#!/usr/bin/perlS -w#самая легкая из CGI-програми pr...
Передача параметров через CGI
Передача параметров через CGIДля передачи параметров в CGI-программы (точнее, в большинство CGI-программ) никакие формы не нужны. Чтобы убедиться в этом, замените URL на http://www.SOMEWHERE.org/c...
Как сократить объем вводимого
Мы могли бы перечислить все эти функции в списке, прилагаемом к оператору use, но такой список разросся бы до небывалых размеров. В CGI.pm, как и во многих других модулях, имеются так называемые д...
Генерирование формы
Генерирование формыЕсли вам надоело вводить параметры своей программы в броузер — создайте заполняемую форму. К таким формам привыкли большинство пользователей. Компоненты формы, которые принимают...
Другие компоненты формы Теперь
Сейчас мы рассмотрим более развитую версию нашей программы. В частности, мы включили в нее новые компоненты формы: всплывающие меню, кнопку передачи (которая называется order) и кнопку очистки пол...
Создание CGIпрограммы гостевой
* Как мы отметим ниже, это приложение можно было бы назвать программой Webchat (переговоров через Web). Форма, используемая для создания гостевой книги, довольно проста, она даже проще, чем неко...
Поиск и устранение ошибок в CGIпрограммах
Поиск и устранение ошибок в CGI-программахCGI-программы, запускаемые с Web-сервера, функционируют в совершенно иной среде, нежели та, в которой они работают при вызове из командной строки. Конечно...
Perl и Web не только CGIпрограммирование
Perl и Web: не только CGI-программированиеPerl используется не только в CGI-программировании. Среди других направлений его применения — анализ файлов регистрации, управление встроенными функциями...
Дополнительная литература Естественно
• Файлы документации CGI.pm.• Библиотека LWP из CPAN.• CGI Programming on the World Wide Web by Shishir Gundavaram (O'Reilly & Associates).• Web Client Programming with Perl by Clinton Wong (...
Упражнение Ответ см в приложении
2. Напишите CGI-сценарий, который определяет тип броузера, делающего запрос, и сообщает что-нибудь в ответ. (Совет: воспользуйтесь переменной среды HTTP_USER_AGENT.)...
Приложение B
Приложение B...
Сетевые клиенты
Сетевые клиентыНемногие компьютеры (и, соответственно, работающие на них пользователи) остаются в изоляции от остального компьютерного мира. Сети, когда-то бывшие достоянием в основном государстве...
Простой клиент
Простой клиентДля нашего простейшего клиента мы выберем довольно скучный сервис, который называется daytime ("время суток"). Сервер времени суток посылает установившему соединение клиент...
Клиент webget
Клиент webgetВот простой клиент, который устанавливает соединение с удаленным сервером и получает с него список документов. Этот клиент интереснее предыдущего, потому что перед получением ответа с...
Интерактивный клиент
Интерактивный клиентСоздать программу-клиент, которая просто читает все с сервера или посылает одну команду, получает один ответ, а затем завершает свою работу, очень легко. А как насчет создания...
Что еще почитать о сетях
Что еще почитать о сетяхО сетях можно говорить и говорить, но мы дадим ссылки на источники, которые помогут вам перейти от разговоров к делу. В главе 6 книги Programming Perl и на man-странице per...
Приложение А
Приложение АВ этой главе: Глава 2 Глава 3 Глава 4 Глава 5 Глава 6 Глава 7 Глава 8 Глава 9 Глава 10 Глава 11 Глава 12 Глава 13 Глава 14 Глава 15 Глава 16 Глава 17 Глава 18 Глава 19...
Ответы к упражнениям
Ответы к упражнениямВ этом приложении даны ответы к упражнениям, помещенным в конце каждой главы....
Глава 2 "Скалярные данные" 1 Вот один из способов решения этой задачи
$pi = 3.141592654;$result = 2 * $pi * 12.5;print "radius 12,5 is circumference $result\n";Сначала мы присваиваем константу (число к) скалярной переменной $pi. Затем мы вычисляем длину о...








Начало    


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