in reply to Re^4: XML::Twig and threads
in thread XML::Twig and threads [solved]
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.
Without copy, it is very fast.for ( $someData->children_copy( 'managedObject') ){ handle_managedObject($t, $_); }
So, I vaguely imagined rewriting managedObject sub using regex, for example ...for ( $someData->children( 'managedObject') ){ handle_managedObject($t, $_); }
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.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^6: XML::Twig and threads
by BrowserUk (Patriarch) on Nov 29, 2012 at 02:49 UTC | |
by tye (Sage) on Nov 29, 2012 at 03:15 UTC | |
by grizzley (Chaplain) on Nov 29, 2012 at 13:18 UTC |
In Section
Seekers of Perl Wisdom