NAME
Text::CSV::Easy_PP - Easy CSV parsing and building implemented in PurePerl
SYNOPSIS
use Text::CSV::Easy_PP qw(csv_build csv_parse);
my @fields = csv_parse($string);
my $string = csv_build(@fields);
DESCRIPTION
Text::CSV::Easy_PP is a simple module for parsing and building CSV lines. This module is written in PurePerl. For a faster alternative, see Text::CSV::Easy_XS. Either way, you should just be able to use Text::CSV::Easy directly and it will determine which version to use.
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.
SEE ALSO
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.