Могу ли я автоматически обнаруживать параметры для оболочки или сценарии Perl для «мета» программирования веб-интерфейсов для них? - PullRequest
1 голос
/ 22 января 2009

Можно ли автоматически обнаруживать параметры для сценариев оболочки / Perl, чтобы "мета" программировать для них веб-интерфейсы?


У меня есть куча "старых" скриптов, которые я хотел бы "обернуть через сеть". До сих пор я создал веб-приложение CGI-BIN с примерно 3 параметрами, которые могут вызывать сценарий отчетности bash / Perl.

Но теперь мне приходит в голову, может быть, есть более быстрый или автоматический способ обернуть эти 100 скриптов.

Так что в основном я хотел бы узнать о методах метапрограммирования, где я бы обнаружил, какие входные параметры принимает конкретный bash или Perl-скрипт, а затем сгенерировал соответствующие элементы HTML FORM с такими входными параметрами, как выпадающие окна TEXT INPUT или SELECT и т.д.

Есть идеи или ссылки на примеры?

Ответы [ 3 ]

3 голосов
/ 22 января 2009

Нет способа взглянуть на случайный исходный код Perl, чтобы определить, какие аргументы он принимает, что эти аргументы значат или как они ограничены.

Если скрипты Perl, с которыми вы работаете, используют общую библиотеку для обработки аргументов, такую ​​как GetOpt :: Long , то вы можете использовать информацию, которую скрипт передает процессору аргументов, чтобы получить большую часть информация.

Кроме этого, вам не повезло.

0 голосов
/ 22 января 2009

Чтобы расширить сказанное Брайаном, если вы можете предоставить нам несколько примеров кода, мы можем помочь немного больше. Если сценарии используют одни и те же (или аналогичные) методы для анализа своих параметров, у нас есть шанс написать некоторый код.

Вполне может быть, что вы можете написать решение для метапрограммирования для части своих унаследованных сценариев, которые являются «обычными», и написать решение на основе таблиц для «нестандартных».

0 голосов
/ 22 января 2009

Помимо Catalyst , CGI имеет стандартный способ отправки параметров через GET или POST, а CGI.pm упрощает .


Вы добавили требование: «Я хотел бы узнать о методах метапрограммирования, где я узнаю, какие входные параметры принимает конкретный скрипт bash или perl, а затем сгенерирую соответствующие элементы HTML FORM с этими входными параметрами как TEXT INPUT. или ВЫБЕРИТЕ выпадающие списки и т. д. "

Не существует стандартного способа «узнать, какие входные параметры принимает конкретный скрипт bash или perl», потому что для этих сценариев нет стандартного способа сообщить эту информацию. Существуют возможности, близкие к стандартным (синтаксический анализ источника troff соответствующей страницы man, вызов сценария с помощью «--help» и анализ выходных данных), или вы можете сохранить эту информацию в какой-либо базе данных.

Там - это стандартный способ определить, какие параметры были отправлены в сценарий CGI, а затем отобразить эти параметры в качестве настраиваемых элементов формы. CGI.pm представит их в виде хэша, который вы можете циклически просматривать (отображая ключ в качестве метки для вашего текстового поля и значение в виде текста в соответствующем текстовом поле).

...