2 |
## $Id$ |
## $Id$ |
3 |
## --------------------------------------------------------------------------- |
## --------------------------------------------------------------------------- |
4 |
## $Log$ |
## $Log$ |
5 |
|
## Revision 1.6 2003/05/13 07:02:47 joko |
6 |
|
## fix: check for definedness, not for trueness |
7 |
|
## |
8 |
|
## Revision 1.5 2003/03/27 15:31:03 joko |
9 |
|
## fixes to modules regarding new namespace(s) below Data::Mungle::* |
10 |
|
## |
11 |
## Revision 1.4 2003/03/27 15:17:03 joko |
## Revision 1.4 2003/03/27 15:17:03 joko |
12 |
## namespace fixes for Data::Mungle::* |
## namespace fixes for Data::Mungle::* |
13 |
## |
## |
14 |
## Revision 1.3 2003/02/20 19:33:28 joko |
## Revision 1.3 2003/02/20 19:33:28 joko |
15 |
## refactored code from Data::Transform::Deep |
## refactored code from Data.Transform.Deep |
16 |
## + sub ref_slot |
## + sub ref_slot |
17 |
## + sub expr2perl |
## + sub expr2perl |
18 |
## |
## |
104 |
|
|
105 |
# if value isn't set, try to set it |
# if value isn't set, try to set it |
106 |
my $callbackMap; |
my $callbackMap; |
107 |
if ($values) { |
# fix (2003-04-17): always do fill if value is *defined*!!! |
108 |
|
if (defined $values) { |
109 |
#if (ref $values eq 'HASH') { |
#if (ref $values eq 'HASH') { |
110 |
if (ref $values eq 'Data::Map') { |
if (ref $values eq 'Data::Map') { |
111 |
$callbackMap = $values->getAttributes(); |
$callbackMap = $values->getAttributes(); |
112 |
} else { |
} else { |
113 |
# apply $values as single value to referenced slot |
# apply $values as single value to referenced slot |
114 |
#print "APPLY!", "\n"; |
#print "APPLY!", "\n"; |
115 |
eval('$obj' . '->' . $objPerlRefString . ' = $values;'); |
my $evalstr = '$obj' . '->' . $objPerlRefString . ' = $values;'; |
116 |
|
#print "eval: $evalstr", "\n"; |
117 |
|
eval($evalstr); |
118 |
die ($@) if $@; |
die ($@) if $@; |
119 |
} |
} |
120 |
} |
} |