сделайте мой файл читаемым или как Perl или как HTML

В духе "Преамбулы Perl", где сценарий работает правильно, выполняемый ли интерпретатором сценария оболочки или интерпретатором Perl...

У меня есть сценарий Perl, который содержит встроенный документ HTML (как "heredoc"), т.е.:

#!/usr/bin/perl

... some Perl code ...

my $html = <<'END' ;



... more HTML ...


END

... Perl code that processes $html ...

Я хотел бы смочь работать над HTML, который это в сценарии Perl, и проверьте его использование веб-браузера и только запустите скрипт, когда HTML является способом, которым я хочу. Для выполнения этого мне нужен файл, чтобы быть открываемым и как файл HTML и как сценарий Perl.

Я попробовал различные приемы комментариями Perl и комментариями HTML, но не могу получить его довольно прекрасный. Файлом в целом не должен быть "строго легальный" HTML (хотя встроенный документ должен быть)... просто визуализуемый в браузере без (или минимальный) видимый мусор Perl.

Править: Решенный! См. мой собственный ответ

5
задан Community 23 May 2017 в 12:23
поделиться

5 ответов

Прочтите и поплачьте, мистер @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 ...

# -->
6
ответ дан 18 December 2019 в 08:27
поделиться

Звучит как путь к боли. Подумайте о том, чтобы сохранить HTML-код в отдельном файле и прочитать его в сценарии.

5
ответ дан 18 December 2019 в 08:27
поделиться

Возможно, это задание для Markup :: Perl :

  # don't write this...
  print "Content-type: text/html;\n\n";
  print "<html>\n<body>\n";
  print "<p>\nYour \"lucky number\" is\n";
  print "<i>", int rand 10, "</i>\n</p>\n";
  print "</body>\n</html>\n";

  # write this instead...
  use Markup::Perl;
  <html><body><p>
  Your "lucky number" is
  <i><perl> print int rand 10 </perl></i>
  </p></body></html>

Вы также можете отбросить строку use Markup :: Perl и запустить свой сценарий как

perl -MMarkup::Perl my_page_with_embedded_perl.html

Затем страница должна отображаться довольно хорошо.

5
ответ дан 18 December 2019 в 08:27
поделиться

Мне кажется, вам нужно решение для создания шаблонов, например Template :: Toolkit или HTML :: Template ]. Встраивание HTML в ваш код или встраивание кода в ваш HTML - это рецепт боли.

3
ответ дан 18 December 2019 в 08:27
поделиться

Думали ли вы о размещении Perl внутри HTML?

Как ASP4 ?

Так много проще - поверьте мне; -)

{{1 }}
0
ответ дан 18 December 2019 в 08:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: