Blast-Radius Aware AI Code Review for Business-Critical Systems
LiveReview LiveReview Explore LiveReview

Text::CSV::Encoded::Coder::EncodeGuess - Text::CSV::Encoded coder class using Encode::Guess

Author

       Makamaka Hannyaharamitu, <makamaka[at]cpan.org>

Description

       This module is inherited from Text::CSV::Encoded::Coder::Encode.

Name

       Text::CSV::Encoded::Coder::EncodeGuess - Text::CSV::Encoded coder class using Encode::Guess

See Also

       Encode, Encode::Guess

Synopsis

           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";
           }

Use

       Except for 2 attributes, same as Text::CSV::Encoded::Coder::Encode.

   encoding_in
           $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_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.

   encoding
           $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.

Version

       version 0.25

See Also