Hi aakikce, Try this,
use strict;
use warnings;
use XML::Twig;
my $twig = XML::Twig->new(pretty_print => 'nice');
$twig->parse(\*DATA);
$_->move('before', $twig->get_xpath('//pagesource')) for ($twig->findn
+odes('//source'));
$twig->print;
__DATA__
<root>
<pagesource>
<para>Teacher's Guide Level A</para>
<para><graphic alt="title" links="Studio Logo R BW.tif"/></para>
</pagesource>
<source>
<paragraph>ISBN-13: 978-1-4190-4181-5</paragraph>
<paragraph>ISBN-10: 1-4190-4181-9</paragraph>
</source>
<pagesource>
<para>Teacher's Guide Level A</para>
<para><graphic alt="title" links="Studio Logo R BW.tif"/></para>
</pagesource>
<source>
<paragraph>ISBN-13: 978-1-4190-4181-5</paragraph>
<paragraph>ISBN-10: 1-4190-4181-9</paragraph>
</source>
</root>
Regards,
Velusamy R.
eval"print uc\"\\c$_\""for split'','j)@,/6%@0%2,`e@3!-9v2)/@|6%,53!-9@2~j';