Несколько лет назад я написал статический генератор веб-сайтов, в котором в качестве языка сценариев использовался Perl (<- интересно, что моя программа проверки правописания предлагает вместо этого "Peril"). Это позволило пользователю вводить информацию о различных уровнях иерархии - первым на рынок было кладбище, где у вас были клиенты (платящие клиенты), которым принадлежали мемориалы (для покойного, очевидно). </p>
У него был графический интерфейс, в котором вы вводили переменные, такие как (дрожите от моих графических навыков здесь):
+------------+----------------------------+
| ClientName | Pax Diablo |
+------------+----------------------------+
| Address | 666 Hades St, Washinton DC |
+------------+----------------------------+
и переменные изображения.
Кроме того, для каждого рынка (такого как вышеупомянутое кладбище) существовал управляющий скрипт, который в основном выполнял и обрабатывал каждую запись на нескольких уровнях иерархии для генерации статического контента. До этого программа превратила все эти переменные в такие вещи, как:
$Var{"ClientName"} = "Pax Diablo";
(я думаю, что синтаксис правильный, я некоторое время не занимался разработкой Perl). Конечным результатом стал полноценный веб-сайт с большим количеством клиентов, множеством мемориалов, страницами поиска и неплохим небольшим заработком денег, пока он длился их обычные пакеты).
Но все это было в основном написано на минимальном Perl, который делал только две вещи:
- превратил переменные в операторы присваивания Perl; и
- запустил специфичный для рынка Perl-код.
Выполнение инструкций присваивания и специфичного для рынка кода Perl было выполнено с помощью eval.
Так что это не так бесполезно, как вы думаете. Это был дешевый способ внедрения скриптов в приложение.