XML::Dumper, XML::Writer, XML::Writer::Simple ...
# example using XML::Dumper
my $dump = new XML::Dumper;
my $perl = (
# some perl data structure
$dump->dtd( $file, $url );
my $xml_with_link_to_dtd = $dump->pl2xml( $perl );
# example using XML::Writer::Simple
use XML::Writer::Simple dtd => "file.dtd";
# Asuming para. etc are defined in the DTD
XML::Dumper has the advantage of providing both read and write interfaces ...
The intelligent reader will judge for himself. Without examining the facts fully and fairly, there is no way of knowing whether vox populi is really vox dei, or merely vox asinorum. — Cyrus H. Gordon