1

それらの WEB UI を「メタ」プログラムするために、シェル/Perl スクリプトへのパラメーターを自動検出することは可能ですか?


「Web ラップ」したい「レガシー」スクリプトがたくさんあります。これまでのところ、bash/Perl レポート スクリプトを呼び出すことができる約 3 つのパラメーターを持つ CGI-BIN Web アプリを作成しました。

しかし、今では、これらの数百のスクリプトをラップするより迅速または自動的な方法があるのではないかと思います。

したがって、基本的には、特定のbashまたはPerlスクリプトが取る入力パラメーターを発見し、それらの入力パラメーターをTEXT INPUTまたはSELECTドロップダウンボックスなどとして使用して、対応するHTML FORM要素を生成するメタプログラミングの手法について知りたいと思います.

アイデアや例へのリンクはありますか?

4

3 に答える 3

3

ランダムな Perl ソース コードを調べて、それが取る引数、それらの引数の意味、またはそれらがどのように制約されているかを判断する方法はありません。

扱う Perl スクリプトがすべてGetOpt::Longなどの共通ライブラリを使用して引数を処理する場合、スクリプトが引数プロセッサに渡す情報を使用して、ほとんどの情報を取得できます。

それ以外は、あなたは運が悪いです。

于 2009-01-22T01:39:31.103 に答える
0

ブライアンが言ったことを拡張するために、いくつかのコードサンプルを提供していただければ、もう少しお手伝いできるかもしれません。スクリプトがパラメーターの解析に同じ(または類似の)メソッドを使用している場合は、コードを作成する機会があります。

レガシースクリプトの「通常の」部分のメタプログラミングソリューションを記述し、「不規則な」スクリプトのテーブルベースのソリューションを記述できる可能性があります。

于 2009-01-22T14:49:05.733 に答える
0

Catalystとは別に、CGI には GET または POST を介してパラメーターを送信する標準的な方法があり、CGI.pm を使用すると簡単になります。


「特定のbashまたはperlスクリプトが取る入力パラメーターを発見し、それらの入力パラメーターをTEXT INPUTまたはSELECTドロップとして使用して、対応するHTML FORM要素を生成するメタプログラミングの手法について知りたい」という要件を追加しましたダウンボックスなど」

これらのスクリプトがこの情報を報告する標準的な方法がないため、「特定の bash または perl スクリプトが取る入力パラメーターを検出する」標準的な方法はありません。標準に近い可能性があります (対応する man ページの troff ソースを解析し、"--help" を指定してスクリプトを呼び出し、出力を解析する)、またはこの情報を何らかのデータベースに保存することもできます。

どのパラメーターが CGI スクリプトに送信されたかを判断し、それらのパラメーターを設定可能なフォーム要素として表示する標準的な方法がありますCGI.pm はそれらをハッシュとして取り込みます。これをループすることができます (キーをテキスト ボックスのラベルとして表示し、値を対応するテキスト ボックスのテキストとして表示します)。

于 2009-01-21T22:12:03.720 に答える