Jakob Voß > Config-Any-CSV-0.01 > Config::Any::CSV

Download:
Config-Any-CSV-0.01.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 0.01   Source   Latest Release: Config-Any-CSV-0.05

NAME ^

Config::Any::CSV - Load CSV files as config files

VERSION ^

version 0.01

SYNOPSIS ^

The interface of Config::Any sucks, so this example uses Config::JFDI:

    use Config::JFDI;

    my $config = Config::JFDI->new( 
        path => '/path/that/includes/foo.csv', # and/or foo_local.csv
        name => 'foo'
    );

DESCRIPTION ^

This small module adds support of CSV files to Config::Any. Files with extension .csv are read with Text::CSV - see that module for documentation of the particular CSV format. Config::Any::CSV enables the option binary and allow_whitespace. The first row of a CSV file is always interpreted as a list of field names and the first field is always interpreted as key field. For instance this CSV file

    name,age,mail
    alice, 42, alice@example.org
    bob, 23, bob@example.org

Is parsed into this Perl structure:

    {
        alice => {
            age  => '42',
            mail => 'alice@example.org'
        },
         bob => {
            age => '23',
            mail => 'bob@example.org'
        }
    }

The order of rows gets lost. If a file contains multiple rows with the same first field value, only the last of these rows is used. Empty lines are ignored.

SEE ALSO ^

Config::JFDI

AUTHOR ^

Jakob Voss

COPYRIGHT AND LICENSE ^

This software is copyright (c) 2013 by Jakob Voss.

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

syntax highlighting: