Hello, BrowserUK.
I see. Example XML is just 613KB.
Copying Twig object is terribly slow. I guess Data::Dumper or dclone of storable will not do any good, because it is just huge.
for ( $someData->children_copy( 'managedObject') ){
handle_managedObject($t, $_);
}
Without copy, it is very fast.
for ( $someData->children( 'managedObject') ){
handle_managedObject($t, $_);
}
So, I vaguely imagined rewriting managedObject sub using regex, for example ...
my ($t, $element)=@_;
# create rewrite rules using Twig
my %rewrite_rules =(
q/name="name"/ => "some value",
);
#replace with regex
my $buffer=$element->sprint; #get plain text of element
for (keys %rewrite_rules){
$buffer =~ s/ $_ (.*?) > .*? (?=<)
/${_} ${1} $rewrite_rules{$_}/sx;
}
#just print out without changing $element
print $fh $buffer;
I will do like this, if I were.
Regards and thanks for your response.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|