本着“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/