Skip to content

bennie/perl-Text-Delimited

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

         Text::Delimited - Delimited Text Processing Module - VERSIONTAG

================================================================================
SYNOPSIS:
================================================================================

    Text::Delimited provides a programattical interface to data stored in
    delimited text files. It is dependant upon the first row of the text
    file containing header information for each corresponding "column" in
    the remainder of the file.

    After instancing, for each call to Read the next row's data is returned
    as a hash reference. The individual elements are keyed by their
    corresonding column headings.

================================================================================
INSTALLATION:
================================================================================

    To install this module type the following:

       perl Makefile.PL
       make
       make test
       make install

================================================================================
USAGE:
================================================================================

    A short example of usage is detailed below. It opens a pipe delimited
    file called 'infile.txt', reads through every row and prints out the
    data from "COLUMN1" in that row. It then closes the file.

      my $file = new Text::Delimited;
      $file->delimiter('|');
      $file->open('infile.txt');

      my @header = $file->fields;

      while ( my $row = $file->read ) {
        print $row->{COLUMN1}, "\n";
      }

      $file->close;

    The close() method is atuomatically called when the object passes out of
    scope. However, you should not depend on this. Use close() when
    approrpiate.

    Other informational methods are also available. They are listed blow:

================================================================================
METHODS:
================================================================================

    close()

    Closes the file or connection, and cleans up various bits.

    delimiter(delimiter)

    Allows you to set the delimiter if a value is given. The default
    delimiter is a tab. Returns the delimiter.

    fields()

    Returns an array (or arrayref, depending on the requested context) with
    the column header fields in the order specified by the source file.

    filename()

    If Open was given a filename, this function will return that value.

    linenumber()

    This returns the line number of the last line read. If no calls to Read
    have been made, will be 0. After the first call to Read, this will
    return 1, etc.

    new([filename|filepointer],[enumerate])

    Creates a new Text::Delimited object. Takes optional parameter that is
    either a filename or a globbed filehandle. Files specified by filename
    must already exist.

    Can optionally take a second argument. If this argument evaluates to
    true, Text::Delimited will append a _NUM to the end of all fields with
    duplicate names. That is, if your header row contains 2 columns named
    "NAME", one will be changed to NAME_1, the other to NAME_2.

    open([filename|filepointer], [enumerate])

    Opens the given filename or globbed filehandle and reads the header
    line. Returns 0 if the operation failed. Returns the file object if
    succeeds.

    Can optionally take a second argument. If this argument evaluates to
    true, Text::Delimited will append a _NUM to the end of all fields with
    duplicate names. That is, if your header row contains 2 columns named
    "NAME", one will be changed to NAME_1, the other to NAME_2.

    read()

    Returns a hashref with the next record of data. The hash keys are
    determined by the header line.

    __DATA__ and __LINE__ are also returned as keys.

    __DATA__ is an arrayref with the record values in order.

    __LINE__ is a string with the original tab-separated record.

    This method returns undef if there is no more data to be read.

    setmode(encoding)

    Set the given encoding scheme on the input file to allow for reading files
    encoded in standards other than ASCII.

================================================================================
EXPORTABLE METHODS:
================================================================================

    For convienience, the following methods are exportable. These are handy
    for quickly writing output delimited files.

    d_join(@STUFF)
    Delimited Join. Returns the given array as a string joined with the 
    current delimiter.

    d_line(@STUFF)
    Delimited Line. Returns the given array as a string joined with the 
    current delimiter and with newline appended.

================================================================================
AUTHORSHIP:
================================================================================

    Text::Delimited VERSIONTAG DATETAG

    (c) 2004-YEARTAG, Phillip Pollard <bennie@cpan.org>
    Released under the Perl Artistic License

    I'd like to thank PetBlvd for sponsoring continued work on this module.
    http://www.petblvd.com/

    Additional contributions by Kristina Davis <krd@menagerie.tf>
    Based upon the original module by Andrew Barnett <abarnett@hmsonline.com>

    Derived from Util::TabFile 1.9 2003/11/05
    With permission granted from Health Market Science, Inc.

About

Text::Delimited CPAN module for Perl

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages