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;
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
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.