Perl - специальный справочник


           

Perl. Специальный справочник - стр. 14


[-x[dir]] [-i[extension]] [-e `command']

[--] [programfile] [arguments]

(Ключи в квадратных скобках являются необязательными. Об их назначении речь пойдет далее в разделе «Ключи командной строки» этой главы.)

При запуске интерпретатора Perl сценарий ищется следующим образом:

  • Если задан ключ -e, то команды для Perl указываются в командной строке следом за этим ключом.
  • Сценарий берется из файла, который стоит первым в списке параметров командной строки (в нашем примере это [programfile]).
  • Если в качестве имени файла задан дефис (_), то сценарий считывается построчно из стандартного потока ввода.
  • Рассмотрим каждый из этих способов.

    Использование ключа -e позволяет задавать команды Perl и запускать интерпретатор из одной и той же командной строки. (В некоторых системах вы можете использовать несколько ключей -e, чтобы передать несколько блоков команд.) Например:

    %perl -e `print "Hello!\n";'

    Hello!

    Однако с кавычками надо быть осторожнее, так как в разных операционных системах они работают по-разному. Вот, например, как выглядит та же самая команда в MS-DOS:

    c:\>perl -e "print \"Hello!\n\";"

    (Обратите внимание на escape-последовательности \", заменяющие двойные кавычки в теле команды Perl. Более подробно эти конструкции рассматриваются в разделе «Основы форматирования текста» далее в этой главе.)

    Конечно, можно поместить сценарий в текстовый файл и передать интерпрета тору имя файла. Например, если содержимым файла hello.pl является

    print "Hello!\n";

    (магическая строчка с шаблоном !# опущена, так как интерпретатор запускается в явном виде), то этот сценарий запускается как

    %perl hello.pl

    Hello!

    Можно также вводить команды Perl построчно с клавиатуры, если вместо имени файла указан дефис:

    %perl -

    (Здесь даже дефис можно опустить, поскольку такой метод предполагается по умолчанию.) Тогда интерпретатор будет ждать, пока вы не введете сценарий:

    %perl -

    print "Hello!\n";

    Интересный вопрос: а как интерпретатор определит, что сценарий введен и пора приступить к его выполнению? Это произойдет, когда на экране появится инструкция __END__, означающая конец текста:




    Содержание  Назад  Вперед