Данный пример perl-кода, основанный на библиотеке XML::LibXML, генерирует xml-документ.

use XML::LibXML;
 
my $doc    = XML::LibXML::Document->new('1.0', 'utf-8');
my $create = $doc->createElement('object');
   $create->setAttribute('attribute', 'value');
   $doc->setDocumentElement($create);

my $document = $doc->createElement('tag');
   $create->appendChild($document);

my $name_doc = $doc->createElement('name');
   $name_doc->appendText('name');
   $document->appendChild($name_doc);

open my $out, '>', 'file.xml';
print {$out} $doc->toString(2);

Результат:

<?xml version="1.0" encoding="utf-8"?>
<object attribute="value">
  <tag>
    <name>name</name>
  </tag>
</object>

Как видно из примера, библиотека способна создавать xml-документы любой структуры.