Спецификация языка Perl

П2.1.1 Введение



П2.1.1 Введение

Perl - интерпретируемый язык, приспособленный для обработки произвольных текстовых файлов, извлечения из них необходимой информациии и выдачи сообщений. Perl также удобен для написания различных системных программ. Этот язык прост в использовании, эффективен, но про него трудно сказать, что он элегантен и компактен. Perl сочитает в себе лучшие черты C, shell, sed и awk, поэтому для тех, кто знаком с ними, изучение Perl-а не представляет особого труда. Cинтаксис выражений Perl-а близок к синтаксису C. В отличие от большинства утилит ОС UNIX Perl не ставит ограничений на объем обрабатываемых данных и если хватает ресурсов, то весь файл обрабатывается как одна строка. Рекурсия может быть произвольной глубины. Хотя Perl приспособлен для сканирования текстовых файлов, он может обрабатывать так же двоичные данные и создавать .dbm файлы, подобные ассоциативным массивам. Perl позволяет использовать регулярные выражения, создавать объекты, вставлять в программу на С или C++ куски кода на Perl-е, а также позволяет осуществлять доступ к базам данных, в том числе Oracle.

Ниже приводится в качестве примера небольшая программа, которая осуществляет доступ к Oracle. #! /usr/local/bin/perl -w # запуск с ключом печати ошибок. use Oraperl; # подключение модуля для работы с Oracle $system_id = 'T:bdhost.somwere.com:Base'; # описание имени базы данных $lda = &ora_login($system_id, 'scott','tiger'); # подключение к базе данных пользователя # scott с паролем tiger $statement = 'create table MYTABLE (NAME char(10), TITLE char(20), ORGANIZATION varchar2(256))'; # SQL команда создания таблицы MYTABLE $csr = &ora_open($lda, $statement) die $ora_errstr; # открытие курсора csr, если это невозможно, # то осуществляется выход и печать сообщения об ошибке. &ora_close($csr); # закрытие курсора open(FL, '/home/my_home_directory/my_file') die "Can't open file \n"; # открытие файла, если это невозможно, # то выход с печатью сообщения об ошибке while ($string = <FL>) { # чтение входного потока из файла с дескриптором FL @array = split(/\//,$string); # считанная строка разбивается в массив # строк, разделителем служит слеш $st = 'insert into MYTABLE values(:1,:2,:3)'; # SQL команда помещения в таблицу некоторых значений $csr = &ora_open($lda,$st) $ora_errstr; # открытие курсора или печать # сообщения об ошибке и выход &ora_bind($csr,$array[0],$array[1],$array[2]); # привязка значений переменных к величинам, которые # требуется поместить в таблицу &ora_close($csr); # закрытие курсора } close FL; # закрытие файла &ora_commit($lda); # завершение транзакции в базе данных &ora_logoff($lda); # отключение от базы данных



Содержание раздела