#untested open TFH, "main.html" or die "Can't open main.html cause $!"; my $template = Template->new() or die "new Template error $!"; $template->process(\*TFH) or die $tt->error(), "\n"; ## or if you hate glob references maybe use IO::File; my $tfh = new IO::File; open($tfh, "main.html") or die "Can't open main.html cause $!"; my $template = Template->new() or die "new Template error $!"; $template->process($tfh) or die $tt->error(), "\n";