2 |
## $Id$ |
## $Id$ |
3 |
## --------------------------------------------------------------------------- |
## --------------------------------------------------------------------------- |
4 |
## $Log$ |
## $Log$ |
5 |
|
## Revision 1.24 2004/06/07 16:44:54 joko |
6 |
|
## sub expand: Now also converts hash-keys to/from utf-8 |
7 |
|
## |
8 |
## Revision 1.23 2003/05/13 07:39:22 joko |
## Revision 1.23 2003/05/13 07:39:22 joko |
9 |
## new option 'define' for "sub expand": set value to empty string if desired |
## new option 'define' for "sub expand": set value to empty string if desired |
10 |
## |
## |
235 |
$result = $obj; |
$result = $obj; |
236 |
} else { |
} else { |
237 |
IterHash %$obj, sub { |
IterHash %$obj, sub { |
238 |
|
my $key = $_[0]; |
239 |
my $item; |
my $item; |
240 |
|
|
241 |
|
# conversions/encodings |
242 |
|
$key = latin_to_utf8_scalar($key) if ($key && $options->{utf8}); |
243 |
|
$key = utf8_to_latin_scalar($key) if ($key && $options->{to_latin}); |
244 |
|
|
245 |
# if current item is a reference ... |
# if current item is a reference ... |
246 |
if (ref $_[1]) { |
if (ref $_[1]) { |
247 |
$item = $_[1]; |
$item = $_[1]; |
267 |
|
|
268 |
$item = '' if $options->{define} and not defined $item; |
$item = '' if $options->{define} and not defined $item; |
269 |
#$result->{$_[0]} = $item if $item; # use item only if not undef (TODO: make configurable via $options) |
#$result->{$_[0]} = $item if $item; # use item only if not undef (TODO: make configurable via $options) |
270 |
$result->{$_[0]} = $item; # use item in any case |
$result->{$key} = $item; # use item in any case |
271 |
} |
} |
272 |
} |
} |
273 |
|
|