--- nfo/perl/libs/Data/Mungle/Transform/Deep.pm 2003/05/13 07:39:22 1.23 +++ nfo/perl/libs/Data/Mungle/Transform/Deep.pm 2004/06/07 16:44:54 1.24 @@ -1,7 +1,10 @@ ## --------------------------------------------------------------------------- -## $Id: Deep.pm,v 1.23 2003/05/13 07:39:22 joko Exp $ +## $Id: Deep.pm,v 1.24 2004/06/07 16:44:54 joko Exp $ ## --------------------------------------------------------------------------- ## $Log: Deep.pm,v $ +## Revision 1.24 2004/06/07 16:44:54 joko +## sub expand: Now also converts hash-keys to/from utf-8 +## ## Revision 1.23 2003/05/13 07:39:22 joko ## new option 'define' for "sub expand": set value to empty string if desired ## @@ -232,8 +235,13 @@ $result = $obj; } else { IterHash %$obj, sub { + my $key = $_[0]; my $item; - + + # conversions/encodings + $key = latin_to_utf8_scalar($key) if ($key && $options->{utf8}); + $key = utf8_to_latin_scalar($key) if ($key && $options->{to_latin}); + # if current item is a reference ... if (ref $_[1]) { $item = $_[1]; @@ -259,7 +267,7 @@ $item = '' if $options->{define} and not defined $item; #$result->{$_[0]} = $item if $item; # use item only if not undef (TODO: make configurable via $options) - $result->{$_[0]} = $item; # use item in any case + $result->{$key} = $item; # use item in any case } }