#!/usr/bin/perl use strict; use warnings; use Template; use YAML; my ($slides_path, $output_path) = @ARGV; my $config = YAML::LoadFile('config.yaml'); my $main_template = $config->{main_template} || 'sporx.xul'; open SLIDES, $slides_path or die "Can't open $slides_path for input:\n$!"; my $slides_content = do {local $/; }; close SLIDES; $slides_content =~ s/&/&/g; $slides_content =~ s/ $slides_content, }; my $result; my $t = Template->new( { INCLUDE_PATH => ['template/'] }); $t->process($main_template, $data, \$result) or die $t->error; open OUTPUT, "> $output_path" or die "Can't open $output_path for output:\n$!"; print OUTPUT $result; close OUTPUT;