}
$node->appendChild($newobj);
- clean($newobj, $nsup) if ($clean);
+ process($newobj, {}, $clean, $nsup);
} elsif (ref($obj) eq 'HASH') { # substitute
for my $child ($node->getChildNodes) {
my $processed = 0;
}
for my $instance (@$obj) {
+ next if (!defined($instance));
my $newnode = $frag->cloneNode(1);
process($newnode, $instance, $clean, $nsup);
}
$frag->dispose;
- return;
}
clean($node, $nsup) if $clean;
my $num = scalar @elems;
for my $ref (@$array) {
- $ref->{$tag} = $elems[$i++ % $num];
+ if (defined($ref)) {
+ $ref->{$tag} = $elems[$i++ % $num];
+ }
}
return $array;