use XML::Saxon::XSLT2; use Inline::Java; # not necessary my $xml_file = "/some/defintely/existing/file.xml"; my $xslt_file = "/another/definetly/existing/file.xsl"; open(my $input, '<:encoding(UTF-8)', $xml_file) or die $!; open(my $xslt, '<:encoding(UTF-8)', $xslt_file ) or die $!; my $trans = XML::Saxon::XSLT2->new($xslt);