0

HTML ページから perl スクリプトを呼び出そうとしています。やろうとしている方法は、サーバーにある perl スクリプトの URL を呼び出すことです。

コードの一部は次のとおりです。

HTML:

var fname = "Bob";
var url='http://xxx.com:30000/cgi-bin/abc.pl?title=fname';  
window.open(url,"_self");                       

次のようにperlで取得しようとしている方法:

パール:

print "$ARGV[0]\n";

今、私は3つの質問があります:

  1. これは変数を渡す正しい方法だと思いますが、perl で引数を出力できません。
  2. 別の変数 lname を渡したい場合、それを URL に追加するにはどうすればよいですか?
  3. 私の window.open は、パラメーターを使用するため、同じウィンドウで出力を開く必要があります_self。それでもそうではありません。

誰でも問題を指摘できますか?

ありがとう、バズ

4

3 に答える 3

4

No@ARGVにはコマンド ライン引数が含まれ、空になります。

CGIモジュールが必要です

use warnings;
use strict;

use CGI;
my $query = CGI->new;
print $query->param( 'title' );

編集: HTML を生成してブラウザに表示する方法については、dan1111 の回答をご覧ください。

于 2012-10-25T07:56:03.940 に答える
3

Matteo が言ったことに加えてprint、ブラウザに出力を送るには単純なステートメントでは不十分です。

私が書いた最近の回答を参照して、出力付きのサンプル CGI スクリプトを提供してください。

あなたの他の問題に関して:

変数は で区切られた URL に追加されます&:

var url='http://xxx.com:30000/cgi-bin/abc.pl?title=fname&description=blah';

この質問に基づいて、おそらくwindow.location.href = url;代わりに試してみてください(ただし、コードが機能しない理由は説明されていません)。

于 2012-10-25T08:02:44.070 に答える
1

それぞれが 2 つの異なる方法で変数を渡す 2 つの異なる環境があります。コマンドラインは @ARGV を介して変数を渡すことができ、ブラウザは @ENV を介して変数を渡すことができます。使用する言語は関係ありません。これらは使用する必要がある配列です。

于 2014-06-09T23:46:16.097 に答える