sub write_script { use Text::Template; use File::Slurp; use 5.010; my $rvars = shift; my %vars = %$rvars; my $tmpl = $vars{"code_tmpl"}; say "tmpl is $tmpl"; my $file = $vars{"script_file"}; my $text = read_file($file); my %data = ('script', $text); my $template = Text::Template->new(SOURCE => $tmpl) or die "Couldn't construct template: $!"; my $result = $template->fill_in(HASH =>\%data); return \$result; } sub write_module { use 5.010; use File::Spec; use File::Slurp; my $rvars = shift; my %vars = %$rvars; my $tmpl = $vars{"module_tmpl"}; say "tmpl is $tmpl"; my $fspecfile = File::Spec->rel2abs(__FILE__); my $text = read_file($fspecfile); my %data = ('module', $text); my $template = Text::Template->new(SOURCE => $tmpl) or die "Couldn't construct template: $!"; my $result = $template->fill_in(HASH =>\%data); return \$result; }