Unicode::RecursiveDowngrade version 0.02 ======================================== NAME Unicode::RecursiveDowngrade - Turn off the UTF-8 flags inside of com- plex variable SYNOPSIS use Unicode::RecursiveDowngrade; $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 com- plex 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 mod- ule 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::Sim- ple" is really simple way to parse XMLs, but this module returns a sim- ple 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 down- graded will be passed this filter function. You have to set a code reference to this accessor. Like this: 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()" 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. SEE ALSO utf8