Unicode::RecursiveDowngrade - Turn off the UTF-8 flags inside of complex variable
use Unicode::RecursiveDowngrade; $rd = Unicode::RecursiveDowngrade->new; $var = { foo => 'bar', baz => [ 'qux', 'quux', ], corge => \$grault, }; $unflagged = $rd->downgrade($var);
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?
XML::Parser
XML::Simple
new
new() is a constructor method.
new()
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:
filter()
use Unicode::RecursiveDowngrade; 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
downgrade() returns a turned off variable of argument.
$Unicode::RecursiveDowngrade::DowngradeFunc
This variable has a downgrade function for downgrade() method. You can override the variable for some other way.
Koichi Taniguchi <taniguchi@livedoor.jp>
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.
utf8
To install Unicode::RecursiveDowngrade, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Unicode::RecursiveDowngrade
CPAN shell
perl -MCPAN -e shell install Unicode::RecursiveDowngrade
For more information on module installation, please visit the detailed CPAN module installation guide.