Template::Plugin::Datafile - phpMan

Command: man perldoc info search(apropos)  


Sections
NAME SYNOPSIS DESCRIPTION BUGS AUTHOR COPYRIGHT SEE ALSO
NAME
    Template::Plugin::Datafile - Plugin to construct records from a simple
    data file

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

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

DESCRIPTION
    This plugin provides a simple facility to construct a list of hash
    references, each of which represents a data record of known structure,
    from a data file.

        [% USE datafile(filename) %]

    A absolute filename must be specified (for this initial implementation
    at least - in a future version it might also use the "INCLUDE_PATH"). An
    optional "delim" parameter may also be provided to specify an alternate
    delimiter character.

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

    The format of the file is intentionally simple. The first line defines
    the field names, delimited by colons with optional surrounding
    whitespace. Subsequent lines then defines records containing data items,
    also delimited by colons. e.g.

        id : name : email : tel
        abw : Andy Wardley : abw AT tt2.org : 555-1234
        sam : Simon Matthews : sam AT tt2.org : 555-9876

    Each line is read, split into composite fields, and then used to
    initialise a hash array containing the field names as relevant keys. The
    plugin returns a blessed list reference containing the hash references
    in the order as defined in the file.

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

    The first line of the file must contain the field definitions. After the
    first line, blank lines will be ignored, along with comment line which
    start with a '"#"'.

BUGS
    Should handle file names relative to "INCLUDE_PATH". Doesn't permit use
    of '":"' in a field. Some escaping mechanism is required.

AUTHOR
    Andy Wardley <abw AT wardley.org> <http://wardley.org/>

COPYRIGHT
    Copyright (C) 1996-2007 Andy Wardley. All Rights Reserved.

    This module is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.

SEE ALSO
    Template::Plugin


Generated by phpMan Author: Che Dong On Apache Under GNU General Public License - MarkDown Format
2026-05-23 08:39 @216.73.217.24 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 TransitionalValid CSS!

^_back to top