CGIプログラムはまったくの初心者です。
perlでCGIプログラムを組んで、HTMLを書き出すときに
Java Scriptもいっしょに書き出すことはできますか?
print "Content-type: text/html\n\n";
print "<html><head><title>$title</title>\n";
---この間に入れたいのですが・・・---
print "</head>\n";
print "<body topmargin=0 leftmargin=0 marginheight=0 marginwidth=0 bgcolor=$bg_color text=$text_color link=$link_color vlink=$vlink_color background=$bg_gif>\n";
Java Scriptの menu_0.addMenuItem("ショップ案内","location='shop.html'"); 等を入れるときに
「"」や「;」はどういう風に表現すればうまくいくのでしょうか。
Java Script以外のタグの中の<font size="2">などは「"」をとれば
大丈夫なのは知っていますが、Java Scriptで「"」や「;」をとってしまうと
動作しなくなりました。
No.4
- 回答日時:
通常はkokucho81さんの言う通り、ヒアドキュメントを使うことをおすすめします。
またヒアドキュメントは行数がかさむので、1行のprint文内で処理したい場合は、makihiroさんのように「\」を直前につけて「"」をエスケープする(単なる文字として認識させる)ようにします。
ただこの方法は文字列が見にくくなる為、ミスの元になることが多いので、qqを使って
print qq{<BODY onLoad="OnLoad()">};
などのようにした方がよいでしょう。
(qqの区切り文字は{}でなくてもよいのですが、HTMLやJavaScriptでは絶対使わない文字を指定するようにすると、バグ予防になります。)
それからHTMLタグ内でも、"は省略しない方がいいですよ。value値がスペース交じりの文字列の場合や、値に指定した変数がヌルだった場合などに、予期しない動作をすることがあります。
遅くなりましたがありがとうございました。
print qq{<BODY onLoad="OnLoad()">}; ・・・なんて方法もあるんですね。
いろいろと参考にさせていただきました。
No.3
- 回答日時:
"の前に\を付けて\"のようにすれば大丈夫ですよ。
私もこの作業をよく見落としてinternal server errorになっちゃいます(^^;
No.1ベストアンサー
- 回答日時:
大体ながながとHTMLやJavaScriptを記述するときには、『ヒアドキュメント』という機能を使うと話しが簡単だと思います。
print << "THE_JAVASCRIPT" ← ここは適当に名前をつけます。
<script language="javascript"><!--
ここは、かきたいようにjavascript書けば良いです。
$titleなどの変数はちゃんと展開されます。
//--></script>
THE_JAVASCRIPT ← ここはコロンをつけてちゃダメ♪
Perlの書籍やインターネットなどで、『ヒアドキュメント』を調べましょう!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【至急!!!】python言語で本を見...
-
16進の10進変換について
-
VBAのNext forでエラーが出て困...
-
パイソン文法で(インデント)
-
数値かどうかの判定方法
-
変数名に変数を使用
-
シェルスクリプト+perl
-
pythonの*
-
ランダム文字列
-
Perl でワードファイルのヘッダ...
-
Perlにおける<?phpinfo();?>の...
-
シェルスクリプトで、空白(ス...
-
パイソンのプログラムで contin...
-
JSONで文字列が長い時
-
Application.ScreenUpdating = ...
-
FindFirst を複数条件で検索
-
テキスト入力後、エンターを押...
-
文字の横にプルダウンを表示さ...
-
formで特定のinputを送信しない...
-
sendmailで複数アドレスに送信...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
16進の10進変換について
-
pythonで演算子を変数に代入す...
-
【至急!!!】python言語で本を見...
-
pythonの*
-
c言語 16進数の2進数への変換
-
awkの正規表現での最左最短マッ...
-
数値かどうかの判定方法
-
関数「exists」と「defined」の...
-
シェルで、ランダム関数を変数...
-
I2C接続のLCDディスプレイを使う
-
シェルスクリプトで、空白(ス...
-
perでメールが送信出来ない場合...
-
UWSCのSELECT文の記述方法
-
int(input("○○"))の使い方
-
switch文のエラーについて
-
pythonで改行を含めてfindする方法
-
シェルスクリプト+perl
-
PythonでUTF8の文字列をリスト...
-
少数点以下の桁数について
-
qq!!の意味を教えてください。
おすすめ情報