2016-10-30 8 views
-3

私は質問があります。私はindex.htmlページにPerl変数を追加したいと思います。どうやってやるの。 Perlファイルの場合は、print qq{<td>$variable</td>}; で実行できますが、.htmlファイル内で実行できるかどうかはわかりません。 PHPの場合、htmlファイルの中で使うものが必要です。 私はstackoverflowで答えの大部分をチェックしましたが、誰もがperlの中にhtmlを作成すると言っていました。 私の質問が達成できるかどうか教えてください。.htmlファイルにPerl変数を追加する

+3

この質問をすると、動的HTMLがどのように生成されるのか理解できないことを示します。 PerlのCGIスクリプトを実行していて、プレーンなHTMLファイルを提供していない場合にのみ、それが可能です。 CGIに関するチュートリアルを提供することは、StackOverflowの範囲を超えています。 –

+2

回答:できません。 perlを使って動的ページを作成する典型的な方法は、perl変数を使ってテンプレートファイルを作成し、perlを使ってテンプレートをレンダリングし(変数を評価する)、htmlを出力してWebサーバーに渡して、 htmlページ。 – xxfelixxx

答えて

3

htmlに直接変数を入れているように「見て」いる言語はたくさんあります。しかし、その中の変数を持つhtmlは単なるテンプレートです。誰かがそのhtmlを提供すべきURLにナビゲートすると、サーバーはhtmlテンプレートを取得し、それを解析し、その中に変数を挿入します。つまり、実際にクライアントに返されるのは、正常なhtmlであり、変数の値がすでに入力されているからです。プレースホルダ変数でhtmlを返すことは期待できず、クライアントがそれらの値を入力すると期待します。クライアント側がマシン、タブレット、電話などにそれぞれの言語を持っていない場合はどうでしょうか?ブラウザーはどのような言語か、値の記入方法をどのように知っていますか?

つまり、静的なhtmlにPerl変数を入れてクライアントに返すことを意味するのであれば、補間を期待して答えはいいえ、これはうまくいかないでしょう。

これを実現する唯一の方法は、まずhtmlを解析してサーバー側で補間し、変数が置換された後にhtmlをクライアントに返すことです。

+1

まあ、唯一の方法ではありません:-)私は、クライアントサイドのJavacriptが変数を探すDOMを歩き回り、その変数の値を求めるAJAXリクエストを起動してから、そのページに挿入するシステムを想定することができます正しい場所。それは特に賢明な考えではありませんが、可能です! –

+0

はい、その場合はperl変数ではなく、javascriptがajax呼び出しで送信する文字列だけです。文字列はPerl変数のように見えるかもしれませんが、それは普通の文字列になります –

+0

@DaveCrossあなたのアイデアはもっとjQueryが必要だと思います! ;) – simbabque

関連する問題