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

