Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Text::CSV::Encoded::CoUser:Contributed Perl Text::CSV::Encoded::Coder::Base(3)

NAME
       Text::CSV::Encoded::Coder::Base - Interface for Text::CSV::Encoded
       coder base class

VERSION
       version 0.25

SYNOPSIS
	   package Text::CSV::Encoded::Coder::YourCoder;

	   use base qw(	Text::CSV::Encoded::Coder::Base	);

	   sub decode {
	       ...
	   }

	   sub encode {
	       ...
	   }

	   sub upgrade {
	       ...
	   }

	   sub decode_fields_ref {
	       ...
	   }

	   sub encode_fields_ref {
	       ...
	   }

DESCRIPTION
       This module is used by Text::CSV::Encoded internally.

INTERFACS
   decode
	   ( $self, $encoding, $str ) =	@_;
	   ....
	   return $decoded_str;

       Takes an	encoding and a CSV string.  It must return a Perl string
       decoded in $encoding.  In Perl 5.8 or later, if $enc is "undef" or
       false, the encoding should be utf8.

   encode
	   ( $self, $encoding, $str ) =	@_;
	   ....
	   return $encoded_str;

       Takes an	encoding and a Perl string.  It	must return a CSV string
       encoded in $encoding.  In Perl 5.8 or later, if $enc is "undef" or
       false, the encoding should be utf8.

   decode_fields_ref
	   ( $self, $encoding, $arrayref ) = @_;

       Takes an	encoding and an	array reference.  It must decoded each array
       entries in $encoding.

   encode_fields_ref
	   ( $self, $encoding, $arrayref ) = @_;

       Takes an	encoding and an	array reference.  It must encoded each array
       entries in $encoding.

   upgrade
	   ( $self, $str ) = @_;

       In Perl 5.8 or later, it	is expected to do "utf8::upgrade" against
       $str.  In older versions, this method may be meaningless	and there is
       no need to implement.  See to utf8.

   encode_check_value
       Setter/Getter for an argument passing to	encode.

	   $coder->encode_check_value( Encode::FB_PERLQQ );

   decode_check_value
       Setter/Getter for an argument passing to	decode.

	   $coder->encode_check_value( Encode::FB_PERLQQ );

EXAMPLE
       Use with	Jcode.

	   package Text::CSV::Encoded::Coder::Jcode;

	   use strict;
	   use base qw(	Text::CSV::Encoded::Coder::Base	);

	   use Jcode ();

	   my $Jcode = Jcode->new;

	   my %alias = (
	       'shiftjis' => 'sjis',
	       'euc-jp'	  => 'euc',
	       'sjis'	  => 'sjis',
	       'euc'	  => 'euc',
	   );

	   sub decode {
	       my ( $self, $encoding, $str ) = @_;
	       my $enc = $alias{ $encoding };
	       $Jcode->set( $str, $enc )->euc;
	   }

	   sub encode {
	       my ( $self, $encoding, $str ) = @_;
	       my $enc = $alias{ $encoding };
	       $Jcode->set( $str, 'euc'	)->$enc();
	   }

	   sub decode_fields_ref {
	       my ( $self, $encoding, $arrayref	) = @_;
	       my $enc = $alias{ $encoding };
	       for ( @$arrayref	) {
		   $_ =	$Jcode->set( $_, $enc )->euc;
	       }
	   }

	   sub encode_fields_ref {
	       my ( $self, $encoding, $arrayref	) = @_;
	       my $enc = $alias{ $encoding };
	       for ( @$arrayref	) {
		   $_ =	$Jcode->set( $_, 'euc' )->$enc();
	       }
	   }

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

COPYRIGHT AND LICENSE
       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.

perl v5.32.0			  2016-01-28Text::CSV::Encoded::Coder::Base(3)

NAME | VERSION | SYNOPSIS | DESCRIPTION | INTERFACS | EXAMPLE | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Text::CSV::Encoded::Coder::Base&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help