NAME
Unicode::RecursiveDowngrade - Turn off the UTF-8 flags inside of complex variable
SYNOPSIS
$rd
= Unicode::RecursiveDowngrade->new;
$var
= {
foo
=>
'bar'
,
baz
=> [
'qux'
,
'quux'
,
],
corge
=> \
$grault
,
};
$unflagged
=
$rd
->downgrade(
$var
);
DESCRIPTION
Unicode::RecursiveDowngrade will turn off the UTF-8 flag inside of complex variable in a lump. In spite of your intention, some modules turn it on every elements of returned variable. You may be hard up for turn them off if you don't need any UTF-8 flags in your variable. This module will fix it up easily.
Sometime I think about the UTF-8 flag is not stead. But some XML::Parser
based modules will turn it on. For example, XML::Simple
is really simple way to parse XMLs, but this module returns a simple hashref including flagged values. This hashref is very hard to use, isn't it?
METHODS
new
new()
is a constructor method.filter
You can set some filter to
filter()
accessor. The values of downgraded will be passed this filter function. You have to set a code reference to this accessor. Like this:use
Unicode::Japanese;
$rd
= Unicode::RecursiveDowngrade->new;
$rd
->filter(
sub
{ Unicode::Japanese->new(
shift
,
'utf8'
)->euc });
$unflagged
=
$rd
->downgrade(
$var
);
the passed subref will be called inside
downgrade()
method.downgrade
downgrade()
returns a turned off variable of argument.
VARIABLES
$Unicode::RecursiveDowngrade::DowngradeFunc
This variable has a downgrade function for
downgrade()
method. You can override the variable for some other way.
AUTHOR
Koichi Taniguchi <taniguchi@livedoor.jp>
COPYRIGHT
Copyright (c) 2005 Koichi Taniguchi. Japan. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.