1

是否可以自动发现 shell/Perl 脚本的参数以便为它们“元”编程 WEB UI?


我有一堆“遗留”脚本,我想“web wrap”。到目前为止,我已经创建了一个 CGI-BIN Web 应用程序,其中包含大约 3 个可以调用 bash/Perl 报告脚本的参数。

但现在我想到也许有更快或自动的方法来包装这 100 多个脚本。

所以基本上我想了解元编程技术,在那里我会发现特定的 bash 或 Perl 脚本采用哪些输入参数,然后生成相应的 HTML FORM 元素,这些输入参数作为 TEXT INPUT 或 SELECT 下拉框等。

任何想法或示例链接?

4

3 回答 3

3

没有办法查看随机的 Perl 源代码来确定它需要哪些参数、这些参数的含义或它们是如何受到约束的。

如果您处理的 Perl 脚本都使用公共库来处理参数,例如GetOpt::Long,那么您可以使用脚本传递给参数处理器的信息来获取大部分信息。

除此之外,你运气不好。

于 2009-01-22T01:39:31.103 回答
0

除了Catalyst之外,CGI 有一种通过 GET 或 POST 发送参数的标准方法,而CGI.pm 使它变得容易


您添加了要求“我想了解元编程技术,我会发现特定 bash 或 perl 脚本采用哪些输入参数,然后生成相应的 HTML FORM 元素,这些输入参数为 TEXT INPUT 或 SELECT drop羽绒盒等”

“发现特定 bash 或 perl 脚本采用哪些输入参数”没有标准方法,因为这些脚本没有标准方法来报告此信息。有接近标准的可能性(解析相应手册页的 troff 源,使用“--help”调用脚本并解析输出),或者您可以将此信息保存在某种数据库中。

一种标准方法可以确定哪些参数被发送到 CGI 脚本,然后将这些参数显示为可设置的表单元素。CGI.pm 会将它们作为散列引入,您可以循环访问(将键显示为文本框的标签,将值显示为相应文本框中的文本)。

于 2009-01-21T22:12:03.720 回答
0

为了扩展 brian 所说的内容,如果您可以向我们提供一些代码示例,我们也许可以提供更多帮助。如果脚本使用相同(或相似)的方法来解析它们的参数,那么我们就有机会编写一些代码。

您很可能可以为“常规”的遗留脚本部分编写元编程解决方案,并为“不规则”脚本编写基于表的解决方案。

于 2009-01-22T14:49:05.733 回答