Template Toolkit: Модули: Template::Plugin::Datafile

Template Toolkit

(русская редакция)

[ Пособия ] [ Руководство ] [ Модули ] [ Библиотеки ] [ Утилиты ] [ Вопросы ] [ Релиз ] [ Perl-ресурсы ] Форум ]
 
Поиск
Template Toolkit | Модули | Template::Plugin::Datafile

Template::Plugin::Datafile

[ ◄ Template::Plugin::DBI ] [ Template::Plugin::Date ► ]
Плагин для получения записей из простого файла с данными.

Оглавление

ОБЗОР

Индекс ] [ Модули ] [ Наверх ]

    [% USE mydata = datafile('/path/to/datafile') %]
    [% USE mydata = datafile('/path/to/datafile', delim = '|') %]

    [% FOREACH record = mydata %]
       [% record.this %]  [% record.that %]
    [% END %]

ОПИСАНИЕ

Индекс ] [ Модули ] [ Наверх ]

Этот плагин предоставляет простую возможность построить из файла с данными массив ссылок на хеши, каждый из которых представляет запись данных известной структуры.

    [% USE datafile(filename) %]

Необходимо указать абсолютный путь к файлу (по крайней мере - в начальной реализации - в будущей версии возможно можно будет использовать INCLUDE_PATH). Необязательный аргумент 'delim' можно использовать для задания альтернативного символа-разделителя.

    [% USE userlist = datafile('/path/to/file/users')     %]
    [% USE things   = datafile('items', delim = '|') %]

Формат файла предельно прост. Первая строка определяет имена полей, разделенных двоеточиями (вокруг двоеточий возможно использование пробелов). Следующие строки определяют записи, содержащие элементы данных, также разделенные двоеточиями, например:

    id : name : email : tel
    abw : Andy Wardley : abw@cre.canon.co.uk : 555-1234
    neilb : Neil Bowers : neilb@cre.canon.co.uk : 555-9876

Каждая строка читается, разбивается на составляющие поля и затем используется для инициализации хеша, использующего в качестве ключей соответствующие имена полей. Плагин возвращает приведенную (blessed) ссылку на массив, содержащий ссылки на хеши в порядке, определенном в файле.

    [% FOREACH user = userlist %]
       [% user.id %]: [% user.name %]
    [% END %]

Первая строка файла должна содержать определения полей. После первой строки пустые строки будут игнорироваться, равно как и строки комментариев, начинающиеся с символа '#'.

ОШИБКИ

Индекс ] [ Модули ] [ Наверх ]

Должен обрабатывать файлы с именами относительно INCLUDE_PATH. Не допускает использование символа ':' в полях. Требуется какой-нибудь механизм квотирования.

АВТОР

Индекс ] [ Модули ] [ Наверх ]

Энди Уардли (Andy Wardley <abw@andywardley.com>)

http://www.andywardley.com/

ВЕРСИЯ

Индекс ] [ Модули ] [ Наверх ]

2.67, поставляется в составе Template Toolkit версии 2.14, дата релиза - 4 октября 2004.

АВТОРСКИЕ ПРАВА

Индекс ] [ Модули ] [ Наверх ]

  Copyright (C) 1996-2004 Andy Wardley.  All Rights Reserved.
  Copyright (C) 1998-2002 Canon Research Centre Europe Ltd.

Этот модуль является свободно-распространяемым программным обеспечением; вы можете распространять и/или модифицировать его на тех же условиях, что и Perl.

СМОТРИ ТАКЖЕ

Индекс ] [ Модули ] [ Наверх ]