Try this. It takes 3 seconds to update a generated file containing 1000 books (2000 titles):
#! perl -slw use strict; use Data::Dump qw[ pp ]; use XML::Simple; my $start = time; my $xml = XMLin( \*STDIN, KeepRoot => 1 ); #pp $xml; for my $book ( 0 .. $#{ $xml->{catalog}{book} } ) { my $titles = $xml->{catalog}{book}[ $book ]{ titles }{ title }; for my $title ( 0 .. $#{ $titles } ) { my $txt = $titles->[ $title ]; $txt =~ s[(\d+)]{ $1+1 }e; $titles->[ $title ] = $txt; } } print XMLout( $xml, KeepRoot => 1, NoAttr => 1 ); warn time() - $start; __END__ C:\test>junk < junk.dat >junk2.dat 3 at C:\test\junk.pl line 22.
In reply to Re: Perl XPath
by BrowserUk
in thread Perl XPath
by GoForIt
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |