Т.е. нужно вывести и на экран в браузер, и в файл?
Так в чём проблема, распечатай страницу два раза, один раз в файл, один раз в STDOUT|браузер и все.
&print_html;
open (TOFILE, "> c:/test.html");
  select TOFILE;
  &print_html;
  select STDOUT;
close(TOFILE);
sub print_html {
    print "\\n";
    print "  \\n";
    print "    Lala\\n";
    print "  \\n";
    print "  \\n";
    print "    TEST
\\n";
    print "  \\n";
    print "\\n";
}