NAME

Text::CSV::Easy - Easy CSV parsing and building

VERSION

Version 0.53

SYNOPSIS

use Text::CSV::Easy qw( csv_build csv_parse );
$csv = csv_build(@fields);
@fields = csv_parse($csv);

DESCRIPTION

Text::CSV::Easy is a simple module for parsing and building CSV strings. This module itself is a lightweight wrapper around Text::CSV::Easy_XS or Text::CSV::Easy_PP.

This module conforms to RFC 4180 (http://tools.ietf.org/html/rfc4180) for both parsing and building of CSV lines.

1. Use commas to separate fields. Spaces will be considered part of the field.
abc,def, ghi        => ( 'abc', 'def', ' ghi' )
2. You may enclose fields in quotes.
"abc","def"         => ( 'abc', 'def' )
3. If your field contains a line break, a comma, or a quote, you need to enclose it in quotes. A quote should be escaped with another quote.
"a,b","a\nb","a""b" => ( 'a,b', "a\nb", 'a"b' )
4. A trailing newline is acceptable (both LF and CRLF).
abc,def\n           => ( 'abc', 'def' )
abc,def\r\n         => ( 'abc', 'def' )

When building a string using csv_build, all non-numeric strings will always be enclosed in quotes.

SUBROUTINES

csv_build( List @fields ) : Str

Takes a list of fields and will generate a csv string. This subroutine will raise an exception if any errors occur.

csv_parse( Str $string ) : List[Str]

Parses a CSV string. Returns a list of fields it found. This subroutine will raise an exception if a string could not be properly parsed.

module( ) : Str

Returns the underlying module used for CSV processing.

TCE_VERSION

Version 2

The TCE_VERSION ensures that the XS and PP versions of Text::CSV::Easy are consistent.

SEE ALSO

Text::CSV
Text::CSV::Easy_PP
Text::CSV::Easy_XS

AUTHOR

Thomas Peters, <weters@me.com>

COPYRIGHT AND LICENSE

Copyright (C) 2013 by Thomas Peters

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.12.4 or, at your option, any later version of Perl 5 you may have available.