Иллюстрированный самоучитель по Perl

CGI-сценарии

  • Функция popup_menu служит для создания меню, задаваемого при помощи тэга <SELECT>. Имеет следующий синтаксис:
    popup_menu(-name › 'menu_name',
    -values › ['bim', 'bam','bom'],
    -default › 'bom',
    -labels › \%labels);
    

    Первый аргумент задает имя меню. Второй аргумент является ссылкой на массив, содержащий список значений, присвоенных элементам меню. Первый и второй аргументы обязательны, остальные – нет. Третий аргумент задает элемент меню, выбранный по умолчанию. Четвертый 1 аргумент является ссылкой на хеш-массив. Хеш-массив значению каждого элемента меню ставит в соответствие строку, которая будет отображаться в меню для этого элемента. Если четвертый аргумент отсутствует, то для каждого элемента меню отображается его значение, заданное вторым аргументом.

  • Функция textarea соответствует тэгу <TEXTAREA>, задающему в документе текстовое поле для ввода многострочного текста. Имеет следующий синтаксис:
    textarea(-name › 'region',
    -default › 'starting value',
    -rows › 10,
    -columns › 50);
    

    Первый параметр, задающий имя элемента формы <ТЕХТДКЕА>, является обязательным, остальные – нет. Второй параметр задает строку, отображаемую по умолчанию. Третий и четвертый параметры задают соответственно число строк и столбцов, отображаемых в текстовом поле.

  • Функция submit соответствует тэгу <INPUT TYPE=SUBMIT>, задающему кнопку передачи. Ее синтаксис:
    print $query › submit(-name › 'button_name', – value › 'value');
    

    Первый параметр является необязательным. Он задает имя кнопки, которое отображается в качестве ее названия. Нужен только для переопределения названия Submit и в тех случаях, когда надо различать несколько имеющихся кнопок передачи. Второй параметр тоже необязательный. Он задает значение, которое посылается в строке запроса при щелчке на этой кнопке.

  • Функция reset соответствует тэгу <INPUT TYPE=RESET>, задающему кнопку сброса. Может иметь параметр, переопределяющий название Reset, отображаемое по умолчанию.
  • Функция end_htmi завершает HTML-документ, добавляя тэги </BODY></HTML>.

Пример 15.8 содержит также код, который не связан с созданием формы Он состоит из одного условного оператора, в котором в качестве условия используется значение, возвращаемое функцией paramo. Эта функция используется также внутри блока условного оператора. Разберем для чего она применяется. При помощи функции paramo модуля CGI можно выполнить следующие действия.

  • Получение списка имен параметров, переданных сценарию.

    Если сценарию переданы параметры в виде списка пар "имя=значение" функция paramo без аргументов возвращает список имен параметров сценария:

    @names = param;
    
  • Получение значений именованных параметров.

    Функция paramo с единственным аргументом – именем параметра, возвращает значение этого параметра. Если параметру соответствует несколько значений, функция param о возвращает список этих значений:

    @values = param('language');
    

    …в противном случае – одно значение:

    $value = param('regname');
    
  • Задание значений параметров.
    param(-name › 'language', – values › ['russian', 'english', 'french']);
    

    Можно задавать значения параметров, используя вызов функции param о в форме с позиционными параметрами, но тогда нужно знать порядок следования этих параметров:

    param ('language', 'russian', 'english', 'french');
    

При помощи функции param () можно устанавливать начальные значения элементов формы или изменять ранее установленные значения.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.