NAME

Text::CSV::Unicode - comma-separated values manipulation routines with potentially wide character data

SYNOPSIS

    use Text::CSV::Unicode;

    $csv = Text::CSV::Unicode->new();

    # then use methods from Text::CSV

    $version = Text::CSV::Unicode->VERSION();   # get the module version

    $csv = Text::CSV::Unicode->new();   # create a new object

    $status = $csv->combine(@columns);  # combine columns into a string
    $line = $csv->string();             # get the combined string

    $status = $csv->parse($line);       # parse a CSV string into fields
    @columns = $csv->fields();          # get the parsed fields

    $status = $csv->status();           # get the most recent status
    $bad_argument = $csv->error_input();# get the most recent bad argument

DESCRIPTION

Text::CSV::Unicode provides facilities for the composition and decomposition of comma-separated values, based on Text::CSV. Text::CSV::Unicode allows for input with wide character data but does not permit control characters.

Incompatible Changes

Option always_quote=>1 (v0.300)

Before v0.300, the module behaviour defaulted to always_quote => 1 in Text::CSV. This behaviour was only needed in tests.

To recreate the old behaviour:

    $csv = Text::CSV::Unicode->new( { always_quote => 1 } );

DEPRECATED

The option binary => 1 does not require this module.

This code issues a 'deprecated' warning and creates a Text::CSV object:

    $csv = Text::CSV::Unicode->new( { binary => 1 } );

METHODS

VERSION

This function may be called as a class or an object method. As a class method, it returns the currrent module version. As an object method, it returns the version of the underlying Text::CSV module.

version

An object method: it returns the backend module version.

new
    $csv = Text::CSV::Unicode->new( [{ binary => 1 }] );

This function may be called as a class method. It returns a reference to a newly created object.

binary => 0 allows the same ASCII input as Text::CSV.

binary => 1 allows for all Unicode characters in the input (including \r and \n): the same functionality as Text::CSV->new( { binary => 1 }.

combine
    $status = $csv->combine(@columns);

This object function constructs a CSV string from the arguments, returning success or failure. Failure can result from lack of arguments or an argument containing an invalid character.

Silently accepts undef values in input and treats as an empty string.

parse
    $status = $csv->parse($line);

This object function decomposes a CSV string into fields, returning success or failure. Failure can result from a lack of argument or the given CSV string is improperly formatted. Upon failure, the value returned by fields() is undefined and error_input() can be called to retrieve the invalid argument.

DIAGNOSTICS

None

CONFIGURATION AND ENVIRONMENT

See HASH option to ->new.

DEPENDENCIES

perl 5.8.0

Text::CSV 1.0

VERSION

0.400

AUTHOR

Robin Barker <rmbarker@cpan.org>

SEE ALSO

Text::CSV

LICENSE AND COPYRIGHT

Copyright (c) 2007, 2008, 2010, 2011, 2012, 2018 Robin Barker. All rights reserved.

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

The documentation of Text::CSV::Unicode methods that are inherited from Text::CSV is taken from Text::CSV 0.01 (with some reformatting) and is Copyright (c) 1997 Alan Citterman.