NAME

Iterator::Simple::Util::CSV - Utility to iterate over CSV data

VERSION

version 0.002

SYNOPSIS

use Iterator::Simple::Util::CSV qw( icsv );

# Iterate over a CSV file one line at a time
my $it = icsv( $some_csv_file );
my $r= $it->next; # returns an array ref

# Same, but skip the header
my $it = icsv( $some_csv_file, skip_header => 1 );

# Parse the header, return each row as a hash ref keyed on the
# header columns
my $it = icsv( $some_csv_file, use_header => 1 );
my $r = $it->next; # returns a hash ref

# Skip the header, specify the column keys
my $it = icsv( $some_csv_file, skip_header => 1, column_name => [ qw( col1 col2 col3 ) ] );
my $r = $it->next; returns a hash ref, keys col1, col2, col3

DESCRIPTION

This module combines Iterator::Simple and Text::CSV_XS to provide a simple way of iterating over CSV files. It exports a single function, icsv that constructs an iterator:

icsv( $input, [opt => value ...] )

$input can be a filename or an IO::Handle object. If the filename is -, the iterator will read from STDIN. Options may be specified as a list or a hash reference. The options use_header, skip_header and column_names control the behaviour of this module (see the synopsis for details); any other options are passed unchanged to the Text::CSV_XS constructor.

SEE ALSO

Iterator::Simple, Text::CSV_XS.

AUTHOR

Ray Miller <raym@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2012 by Ray Miller.

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