Text::CSV::Encoded::Coder::EncodeGuess - Text::CSV::Encoded coder class using Encode::Guess
use Text::CSV::Encoded coder_class => 'Text::CSV::Encoded::Coder::EncodeGuess'; use Spreadsheet::ParseExcel; my $csv = Text::CSV::Encoded->new(); $csv->encoding( ['ucs2', 'ascii'] ); # guessing ucs2 or ascii? $csv->encoding_to_combine('shiftjis'); my $excel = Spreadsheet::ParseExcel::Workbook->Parse( $file ); my $sheet = $excel->{Worksheet}->[0]; for my $row ( $sheet->{MinRow} .. $sheet->{MaxRow} ) { my @fields; for my $col ( $sheet->{MinCol} .. $sheet->{MaxCol} ) { my $cell = $sheet->{Cells}[$row][$col]; push @fields, $cell->{Val}; } $csv->combine( @fields ) or die; print $csv->string, "\n"; }
This module is inherited from Text::CSV::Encoded::Coder::Encode.
Except for 2 attributes, same as Text::CSV::Encoded::Coder::Encode.
$csv = $csv->encoding_in( $encoding_list_ref );
The accessor to an encoding for pre-parsing CSV strings. If no encoding is given, returns current $encoding, otherwise the object itself.
$encoding
$encoding_list_ref = $csv->encoding_in()
When you pass a list reference, it might guess the encoding from the given list.
$csv->encoding_in( ['shiftjis', 'euc-jp', 'iso-20022-jp'] );
If it cannot guess the encoding, the first encoding of the list is used.
$csv = $csv->encoding( $encoding_list_ref ); $encoding_list_ref = $csv->encoding();
You can pass a list reference to this attribute only:
* For list data consumed by combine(). * For list reference returned by getline().
In other word, in combine and print, it might guess an encoding for the passing list data. If it cannot guess the encoding, the first encoding of the list is used.
combine
print
Encode, Encode::Guess
Makamaka Hannyaharamitu, <makamaka[at]cpan.org>
Copyright 2008-2013 by Makamaka Hannyaharamitu
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Text::CSV::Encoded, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Text::CSV::Encoded
CPAN shell
perl -MCPAN -e shell install Text::CSV::Encoded
For more information on module installation, please visit the detailed CPAN module installation guide.