Hola, primero que nada estás abriendo dos veces el archivo, uno de modo lectura < y otro de modo escritura >
Para cargarlo en un string podrías hacer algo así como
Código:
my $tot = '';
open(TEMPLATE,"<file.html");
while (my $linea = <TEMPLATE>){
$tot .= "$linea";
}
close (TEMPLATE);
Espero que te sirva
Saludos
PD: Otra forma sería cargar todo en el array y luego con la función join guardarlo todo en un string...Fijate que en perlenespanol.com tenés un tutorial de como usar join y split...