Введение в Perl


Запуск интерпретатора Perl


Синтаксис:

perl [ключи] файл аргументы

Перед стартом Perl ищет скрипт (программу) в следующем порядке:

  1. В командной строке если указан ключ '-e'
  2. Содержимое файла указанного в командной строке. В первой строке можно указывать #!/usr/bin/perl для "автоматического" запуска скрипта.
  3. Стандартный ввод/вывод, если не указан файл или аргументы, содержащие имя файла. Для передачи аргументов скрипту из стандартного потока, имя файла в командной строке обозначается символом '-'.

В методах 1 и 2 Perl сканирует строки, начиная с первой, если не указан ключ '-x', в противном случае началом программы считается строка с символами '#!' в начале и содержащая слово 'perl'. Концом программы считается строка '__END__'. В строке с '#!' можно указывать и ключи. Например '#!/bin/perl -d' для отладки программ.

После "обнаружения" скрипта Perl компилирует его целиком во внутреннее представление. Если обнаруживаются ошибки, то выполнение прекращается. Если ошибок нет, он выполняется. Если скрипт заканчивается без команд exit() или die(), то по умолчанию выполняется команда exit(0), обозначающая нормальное завершение программы.

Ключи:

  • -O цифры

    Код символа-разделителя записей. По умолчанию \0.

  • -a

    Включает режим автоматического разделения (split) переменной $_ в массив $F. Применяется с ключами -n и -p.

  • -c

    Выполняется синтаксическая проверка скрипта и выход без запуска.

  • -d

    Запуск в режиме интерактивной отладки.

  • -D число или D список

    Установить флаги отладки Perl. Например -d14 проследить как Perl исполняет вашу программу.

    1pСинтаксический разбор
    2sСостояние стека
    4lСостояние стека имен
    8tТрассировка исполнения
    16oСоздание оператора узла
    32cСтроковое/числовое преобразование
    64pВывод команды препроцессора для -P
    128mРаспределение памяти
    256fОбработка формата
    512rСинтаксический разбор регулярных выражений
    1024xДамп синтаксического дерева
    2048uПроверка защиты
    4096L"Утечка" памяти
    8192HДамп хеша
    16384XРаспределение scratchpad
    32768DОчистка
    <


    Начало  Назад  Вперед



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