#!/usr/bin/env perl

use warnings;
use strict;
use Template;
use YAML 'LoadFile';


my $config_filename = shift;
die "config filename?\n" unless
    defined $config_filename && length $config_filename;

my $config = LoadFile($config_filename);

my $template = Template->new($config->{template})
    || die Template->error(), "\n";

my $source = do { local $/; <> };

my $vars = {
    %{ $config->{vars} },
    SOURCE => $source,
};

$template->process(\$source, $vars)
    || die $template->error();
