En el espíritu de la "Perl Preamble", donde un script funciona adecuadamente si es ejecutado por un intérprete de scripts de shell o intérprete Perl ...hacer que mi archivo legible ya sea como Perl o HTML
Tengo un script en Perl que contiene un documento HTML embebido (como "heredoc"), es decir:
#!/usr/bin/perl
... some Perl code ...
my $html = <<'END' ;
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
... more HTML ...
</HTML>
END
... Perl code that processes $html ...
me gustaría ser capaz de trabajar en el código HTML que hay dentro de la secuencia de comandos Perl y comprobar que funciona usando un navegador web, y sólo corren el script cuando el HTML es de la manera que quiero. Para lograr esto, necesito que el archivo se pueda abrir como un archivo HTML y como un script de Perl.
He intentado varios trucos con los comentarios de Perl y los comentarios HTML, pero no puedo conseguirlo del todo perfecto. El archivo como un todo no tiene que ser HTML "estrictamente legal" (aunque el documento incrustado debería ser) ... solo visualizable en un navegador sin (o mínimo) basura Perl visible.
EDITAR: ¡Solucionado! Ver mi propia respuesta
Creo que su conjunto solución es el conjunto vacío. Si tiene la intención de asociar perl con el archivo mediante un shbang, entonces necesita la primera línea. Un comentario SGML no puede ocurrir antes de esta línea, por lo que mostrarás el shbang, y la mayoría de los navegadores lo colocarán como si fuera su propio documento, incluso si genera HTML no estándar. – Axeman
¡Solo agrega un poco de Javascript para eliminar el shebang del DOM! – jrockway
@Axeman, consulte el conjunto vacío a continuación;) – JoelFan