NAME
Data::Recursive::Encode - Encode/Decode Values In A Structure
SYNOPSIS
Data::Recursive::Encode->decode(
'euc-jp'
,
$data
);
Data::Recursive::Encode->encode(
'euc-jp'
,
$data
);
Data::Recursive::Encode->decode_utf8(
$data
);
Data::Recursive::Encode->encode_utf8(
$data
);
Data::Recursive::Encode->from_to(
$data
,
$from_enc
,
$to_enc
[,
$check
]);
DESCRIPTION
Data::Recursive::Encode visits each node of a structure, and returns a new structure with each node's encoding (or similar action). If you ever wished to do a bulk encode/decode of the contents of a structure, then this module may help you.
VALIABLES
- $Data::Recursive::Encode::DO_NOT_PROCESS_NUMERIC_VALUE
-
do not process numeric value.
use
JSON;
my
$data
= {
int
=> 1 };
is encode_json( Data::Recursive::Encode->encode_utf8(
$data
) );
#=> '{"int":"1"}'
local
$Data::Recursive::Encode::DO_NOT_PROCESS_NUMERIC_VALUE
= 1;
is encode_json( Data::Recursive::Encode->encode_utf8(
$data
) );
#=> '{"int":1}'
METHODS
- decode
-
my
$ret
= Data::Recursive::Encode->decode(
$encoding
,
$data
, [CHECK]);
Returns a structure containing nodes which are decoded from the specified encoding.
- encode
-
my
$ret
= Data::Recursive::Encode->encode(
$encoding
,
$data
, [CHECK]);
Returns a structure containing nodes which are encoded to the specified encoding.
- decode_utf8
-
my
$ret
= Data::Recursive::Encode->decode_utf8(
$data
, [CHECK]);
Returns a structure containing nodes which have been processed through decode_utf8.
- encode_utf8
-
my
$ret
= Data::Recursive::Encode->encode_utf8(
$data
);
Returns a structure containing nodes which have been processed through encode_utf8.
- from_to
-
my
$ret
= Data::Recursive::Encode->from_to(
$data
, FROM_ENC, TO_ENC[, CHECK]);
Returns a structure containing nodes which have been processed through from_to.
AUTHOR
Tokuhiro Matsuno <tokuhirom AAJKLFJEF GMAIL COM>
gfx
SEE ALSO
This module is inspired from Data::Visitor::Encode, but this module depended to too much modules. I want to use this module in pure-perl, but Data::Visitor::Encode depend to XS modules.
Unicode::RecursiveDowngrade does not supports perl5's Unicode way correctly.
LICENSE
Copyright (C) 2010 Tokuhiro Matsuno All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.