Анимация
JavaScript
|
Главная Библионтека print $a - $main::a; # выводит 456-124 package mam; # возврат к первоначальному значению по умолчанию print $а + $fred::a; # выводит 124+456 Таким образом, любое имя с явным именем пакета используется как есть, а все остальные имена считаются принадлежащими текущему пакету, который принят по умолчанию. Пакеты локальны для текущего файла или блока, и вы всегда можете использовать пакет mam в начале файла. Подробности см. на тап-странице perlsub(l). Встраиваемость и расширяемость "Внутренности" Perl определены достаточно хорощо для того, чтобы встраивание компилятора-интерпретатора Perl в другое приложение (так, как это уже сделано с Web-сервером Apache и текстовым редактором vi) или расщирение Perl путем добавления к нему произвольного кода, написанного на С (или имеющего С-подобный интерфейс), стало относительно несложной задачей. Более того, почти третья часть диалоговой документации на Perl посвящена именно вопросам встраивания и расширения этого языка. Подробно эти аспекты освещены на man-страницах perlembed(l), perlapio{\), perlxs{\), perlxstut{\), perlguts{\) и perlcall(l). Поскольку Perl можно получить бесплатно, вы можете написать собственную программу создания электронных таблиц, используя встроенный Perl для вычисления выражений в ее ячейках и не платя ни цента за всю эту мощь. Радуйтесь. Вопросы безопасности Perl создавался с учетом требований безопасности. Посмотрите в главе 6 книги Programming Per/или на тап-странице perlsec{\) материал о "проверке пороков" (taint checking). "Проверка пороков" - это такой вид защиты, когда вы доверяете автору программы, а не лицу, которое ее выполняет - как это часто бывает в UNIX с программами, в которых применяется идентификатор пользователя, и во всех системах с программами, запускаемыми сервером. Модуль Safe, который описан на тап-странице Safe(3) и в главе 7 книги Programming Perl, обеспечивает нечто соверщенно иное - защиту, необходимую при выполнении (как в случае с eval) непроверенного кода. Операторы swifhch и case Нет, таких операторов в Perl нет, но их легко создать с помощью базовых конструкций. См. главу 2 книги Programming Perl и man-страницу perlfunc(l). Пряжой ввод-вывод: sysopen, sysread, sysivrite, sysseek Иногда средства ввода-вывода Perl оказываются слишком высокоуровневыми для стоящей перед вами задачи. В главе 3 книги Programming Perl и на тап-страницеperlfUnc(l) рассматривается вопрос непосредственного использования базовых системных вызовов для ввода-вывода. Компилятор Perl Хотя мы говорим, что Perl компилирует ваш код перед тем, как его выполнять, эта скомпилированная форма не является "родным" объектным кодом. Компилятор Perl, написанный Малькольмом Бити, может создать из вашего Perl-сценария независимый байтовый код или компилируемый С-код. Ожидается, что в версию Perl 5.005 будет включена возможность генерации собственного кода. Подробности см. в материале, представленном на тап-странице perlfaq(3). Поддержка баз данных Да, Perl может обеспечить непосредственное взаимодействие с коммерческими серверами баз данных, включая Oracle, Sybase, Informix и ODBC, не считая многих других. Соответствующие модули расширения вы найдете в разделе баз данных в каталоге модулей CPAN. Сложные структуры данных Используя ссылки, вы можете создавать структуры данных произвольной степени сложности. Вопросы их разработки рассматриваются в главе 4 книги Programming Perl и на man-страницахperllol(l), perldsc(l) и perlref{\). Если вы предпочитаете объектно-ориентированную структуру данных, обратитесь к главе 5 вышеупомянутой книги и man-страницам perltoot(l) и perlobj(l). Указатели на функции Perl может сохранять и передавать указатели на функции посредством записи вида \&funcname, а также вызывать их косвенно посредством записи &$funcptr ($args). Можно даже писать функцгш, которые создают и возвращают новые анонимные функции, как в языках Lisp и Scheme. Такие анонимные функцгш часто называют замыканиями (closures). Подробности см. в главе 2 книги Programming Perl и на man-страницах perlsub{\) и perlfaq7{\). И прочее Perl с каждым днем становится все более мощным и полезным, поэтому оперативное обновление посвященной ему документации - довольно сложная задача. (Кто знает, может быть, к дню появления этой книги на полках магазинов уже будет создан Visual Perl?) В любом случае - спасибо, Ларри! Предметный указатель
Возвращаемые значения 40, 127 Выбранный в текущий момент дескриптор файла 162 Глобальные переменные Гнезда Игнорирование регистра 117 Извлечение и замена подстроки 198 Изменение меток времени 180 Изменение прав доступа 178 Изменение принадлежности файла 179 Индексные ссылки 34 Интерполяция переменных 63, 118 Предметный указатель 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 [ 99 ] 100 101 102 103 |