html - 使我的文件可读为 Perl 或 HTML

标签 html perl comments

本着“Perl Preamble”的精神,脚本无论是由 shell 脚本解释器还是 Perl 解释器执行都能正常工作...

我有一个 Perl 脚本,其中包含一个嵌入式 HTML 文档(作为“heredoc”),即:

#!/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 ...

我希望能够处理 Perl 脚本中的 HTML,并使用 Web 浏览器检查它,并且只在 HTML 符合我的要求时才运行脚本。为此,我需要该文件既可以作为 HTML 文件也可以作为 Perl 脚本打开。

我已经尝试过各种 Perl 注释和 HTML 注释的技巧,但无法做到完美。文件作为一个整体不必是“严格合法”的 HTML(尽管嵌入文档应该是)...只是可以在浏览器中显示而没有(或最少)可见的 Perl 垃圾。

编辑:已解决!看我自己的回答

最佳答案

阅读并哭泣 @Axeman 先生......我现在向您展示空集:

</dev/fd/0 eval 'exec perl -x -S $0 ${1+"$@"}' #> <!--
#!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 ...

# -->

关于html - 使我的文件可读为 Perl 或 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2406711/

相关文章:

javascript - 在某些情况下,A 型框架缓冲区几何合并似乎会改变实体

perl - 我如何计算我的 perl 代码中每个 sub 的相应行?

java - 如何防止 Eclipse 在 Java 中包装多行注释/*...*/?

qt-creator - 为什么以 "//!"开头的注释在 Qt Creator 中显示为蓝色?

javascript - 可以使用slideup()函数在单击某些输入类型时向上滑动页面

Html 表格仅在一页上扭曲

html - HTML5 中的链接标签不应自动关闭,但 HAML 正在关闭它们

regex - 在数组中携带多个捕获组但只匹配一个组

html - Perl 正则表达式 : how to replace terminal control characters with html tags?

html - IF IE 条件语句不起作用