use XML::LibXSLT; #... $XSLT = XML::LibXSLT->new(); $Stylesheet = $XSLT->parse_stylesheet_file($path) or die "Failed to parse the template.\n"; #... XML::LibXSLT->debug_callback(\&logmsg); my $results = eval { $Stylesheet->transform_file($source) }; if ($@) { die "LibXSLT died with: $@\nDebug info: $debug"; } $Stylesheet->output_file($results, $dest); #... #### ' ... Dim XSLT As Object, StyleSheet As Variant Set XSLT = CreateObject("Viper.XSLTransform") StyleSheet = "http://xsl.tmp.de/Jobpilot.de/tmpw-1.0.xsl" If XSLT.LoadTemplate(StyleSheet) Then XSLT.TransformFile tempFilename, tempFilename & ".tmp" ' ...