• ベストアンサー

Perl CGIの中で # を使ってコメントアウト出来ると思いますが、

Perl CGIの中で # を使ってコメントアウト出来ると思いますが、 print "Content-type: text/html\n\n"; &aaa ("<p style='color:#eee'>色</p>"); とかで、'color:#eee' の色指定で # の部分が 誤認識される環境は無いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

"と"の間とか、'と'の間とかは文字列として解釈します。 ""には変数や?の展開とかは行われますが、それ以外は書かれた文字がそのまま内容になります。 #は#という文字になり、コメントにはなりません。 コメントと「誤認識」されるのは、 引用符無しの文字列を書いたときや 引用符の対応がとれてなく、文字列の外になっているときです。

takumana20
質問者

お礼

安心しました。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Perlの改行で、

    Perlの改行で、 print <<HTML; この場合は、ここを自由に改行出来ると思いますが、 HTML print "Content-type: text/html\n\n"; &aaa ("<p style='color:#eee'>色</p>~~~~~~~~"); &aaa ("~~~"); を使う場合、~~~の部分がとても長くなるときに、 テキスト内で改行する場合、自由に改行を入れても良いでしょうか? どうやれば良いのでしょうか?

    • ベストアンサー
    • Perl
  • CGIが動作しません。

    最近、Perlを初めたのですが、 CGIがうまく動作しません。 他のCGIは動作しているので CGIは動作する環境だと思います。 http://からフルパスでCGIを実行しても、 以下のエラーがでます。 -------------------------------------  500 InInternalServerError  サーバーエラーです。  以下の理由が考えられます。  パーミッション等の設定が  間違っている可能性があります。  サイト管理者にお問い合わせ下さい。 ------------------------------------- ちなみに以下のような簡単なCGIも同様です。 ===================================== #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<html><head>\n"; print "<meta http-equiv=Content-Type content=text/html; charset=x-sjis>\n"; print "<title>StartCGI</title></head>\n"; print "<body>\n"; print "<p align=center><font size=4>初めて書いたCGI</font></p>\n"; print "</body></html>\n"; exit; =====================================  なぜなんでしょう。 困ってます。 ご教授の程、宜しくお願い致します。

    • ベストアンサー
    • CGI
  • Perl CGI -入力フォーム-

    Perlを始めたばかりの初心者です。 Perlの中にフォームを入れたいのですが、エラーが出てしまいます。 現在は、ローカルで作動させています。 #! c:/perl/bin/perl print "Content-type: text/html\n\n"; print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">\n"; print "<head><title>TEST</title></head>\n"; print "<body>\n"; print "<p><input type="text" name="name"></p>\n"; print "</body>\n"; print "</html>"; 【print "<p><input type="text" name="name"></p>\n";】この記述がエラーの対象行となっています。 inputを使用する場合は他にも記述が必要なのでしょうか? 宜しくお願いします。

  • CGIの中にJAVA Script

    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で「"」や「;」をとってしまうと 動作しなくなりました。

  • CGI初心者です。設置したいのですがperl5?

    CGI初心者です。あるCGIを設置したいのですが、もしかしてこれはperl5が必要になるんじゃないかと悩み始めました。 というのも、CGI本体は動かず、サポート掲示板にはperlのヴァージョンが低くて使えなかったという発言もありました。 本来はサポート掲示板でお話しする義だとは思うのですが、管理人さんが忙しいのか、先日から書き込みをなさっていません。 エラー報告スクリプトを設置してブラウザで何のエラーが出ているのか見てみました。 以下のような記述です。みなさんにはHTMLソースではないかという人もいますが、私にもそう見えますが、エラー報告スクリプトで出るのはこの表示だけなんです。 CGIスクリプトはKENTさんのYYBBSで、それの設置は手軽にできましたが、スパム対策用のこちらの掲示板はうまくできませんでした。 わかる方いらっしゃったら教えてください。不勉強ですみません。 -------------- Can't locate ./registpl.cgi in @INC (@INC contains: /usr/local/lib/perl5/5.8.9/BSDPAN /usr/local/lib/perl5/site_perl/5.8.9/mach /usr/local/lib/perl5/site_perl/5.8.9 /usr/local/lib/perl5/5.8.9/mach /usr/local/lib/perl5/5.8.9 .) at ./yybbs.cgi line 56. Content-type: text/html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS"> <META HTTP-EQUIV="Content-Style-Type" content="text/css"> <STYLE type="text/css"> <!-- body,td,th { font-size:13px; font-family:"MS UI Gothic, Osaka, MS Pゴシック"; } a { text-decoration:none; } a:hover { text-decoration:underline; color:#DAA520; } .n { font-family:Verdana,Helvetica,Arial; } .b { background-color:#FFFFFF; color:#B8860B; font-family:Verdana,Helvetica,Arial; } .f { background-color:#FFFFFF; color:#B8860B; } --> </STYLE> <title>YY-BOARD v5.8 antispam edition v7.7.2 (BBSantispam.pm version 2.1 (2006/09/11)) (設置に関する質問は改造版配布元の掲示板まで)</title></head> <body background="./img/hane_w4.png" bgcolor="#000000" text="#EEE8AA" link="#EEE8AA" vlink="#DAA520" alink="#DAA520"> <font color="#FFFFFF" face="Verdana,Helvetica,Arial">000001</font><br>

    • ベストアンサー
    • CGI
  • レンタルサーバーでperlのcgiファイルを実行する手順を教えて下さい

    レンタルサーバーでperlのcgiファイルを実行する手順を教えて下さい。 レンタルサーバー会社からは、「cgi-bin」フォルダにcgiファイルを配置(アップロード)すれば ブラウザで見れると説明を受けました。 用意したcgiファイルは以下の内容です。 _____________________________ #! c:/perl64/bin/perl # CGIヘッダーの出力 print "Content-type: text/html\n\n"; #さいころを振る。 $n = int(rand 6) + 1; #HTMLの出力 print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0.1//EN\">\n"; print "<html>\n"; print "<head><title>Perlでさいころ</title></html>\n"; print "<body>"; print "<p>さいころの目は<big>$n</big>です。</p>\n"; #御言葉を出力 if($n == 4){ print "<p>ふ、不吉な・・・。4が出ました。</p>\n"; } print "<body></html>"; __________________________________________ 一行目が原因でしょうか。ローカルで作成した、cgiファイルをレンタルサーバーに配置(アップロード)し ブラウザから見たいと考えております。 ご存知の方、教えて頂けないでしょうか。 宜しくお願いします。

  • CGI勉強中(初心者です)

    #!/usr/bin/perl print "content-type:text/html\n\n"; print "<HTML>\n"; print "<head><title>CGI</title></head>\n"; print "<BODY>\n"; print "<H1><FONT COLOR=\"#FF0000\">こんにちは</FONT></H1>\n"; print "</BODY>\n"; print "</HTML>\n"; というCGIつくりました。 プロバイダの説明には Perlの場所 /usr/bin/perl または /usr/local/bin/perl となっていますが、 どこにどう置いて(ホームディレクトリでしょうか?)、どうやって起動させてよいのかさっぱりわかりません。 ご教授ください。

    • ベストアンサー
    • CGI
  • perlでのCGI

    perlでCGIを書くときは最初の行に Content-Type: text/htmlと書くという認識で正しいですよね? 最初の行にその文章を書き二行目は空白にして三行目からスクリプトを書いたのですが なぜか一行目のContent-Type: text/htmlという文章がwebに表示されてしまいます… これはどのようにしたら良いのでしょうか 回答お願い致します。

    • ベストアンサー
    • CGI
  • Perlで作成したCGIについて

    Perlで作成したCGIについて Perlで作成したCGIについて質問させていただきます。 #################### ##(1)system.cgi ## #################### #!c:/Perl/bin/perl.exe use strict; use warnings; use CGI; use CGI::Carp('fatalsToBrowser'); use CGI qw(:standard); print "Content-type:text/html;charset=utf8\n\n"; system('C:\\test.txt'); ##################################################### C直下にあるtest.txtの中身は「abcd」など 簡単なものです。 ##################################################### ################### ##(2)win32.cgi ## ################### #!c:/Perl/bin/perl.exe use strict; use warnings; use CGI; use CGI::Carp('fatalsToBrowser'); use CGI qw(:standard); use Win32::API; print "Content-type:text/html;charset=utf8\n\n"; my $MessageBox = Win::API -> new("user32","MessageBoxA","NPPN","N"); $MessageBox -> Call(0,"HelloWorld","Message",0); ##################################################### ##################################################### 以下にスペックを書きます。 Microsoft Windows XP Professional version2002 Service Pack2 Genuine Intel(R)CPU L2300 @1.50GHz 1.50GHz,1.49GB RAM ・ActivePerl ver5.10.1 built for MSWin32-x86-multi-thread ・Apache Apache 2.2.14(Win32) ##################################################### 上記の(1)、(2)のプログラムをエクスプローラ上(ローカル)で実行させて(1)ではテキストファイルを、 (2)ではメッセージボックスを表示させたいです。 結果は時間がかかるだけでTimeOutの設定である5分で切れてしまい何も起こりません。 しかし、全く同じプログラムで拡張子を.plに変更してコマンドプロンプトで実行すると、 期待通り(1)はテキストファイルが開かれ、(2)ではメッセージボックスが出てきます。 (1)、(2)ともCGIではsystemおよびMessageBoxの部分をコメントアウトして print文などを書けば普通にエクスプローラに表示されます。 (かなりhtmlとしては不備があると思いますが・・・) どうすればCGIで(1)、(2)のプログラムが期待通りの動きをするのか どうぞご教授のほどよろしくお願いいたします。 何か足りない情報や意味の分かりづらい個所がありましたら、仰ってください。 ちなみにこのプログラムは公開するために作成しているのではありません。 下手な説明、長文すみません。

  • Perl/CGIについて

    #!/usr/bin/perl use CGI; $cgi = new CGI(); $from = $cgi->param('from'); $namae = $cgi->param('namae'); $naiyou = $cgi->param('naiyou'); print "Content-type: text/html\n\n"; # 設定 $sendmail = '/usr/lib/sendmail'; $jcode = './jcode.pl'; $to = 'ha***@***.ne.jp'; #$from = ''; $subject ='名鉄と地下鉄の直通運転'; # 文字コードライブラリの読み込み require $jcode; # メール送信 &jcode'convert(*subject,'jis'); open(MAIL,"| $sendmail -t"); # ヘッダ情報出力 print MAIL "To: $to\n"; print MAIL "From: $from\n"; print MAIL "Subject: $subject\n\n"; # 本文出力 print MAIL " $namae\n\n"; print MAIL " $naiyou\n"; close(MAIL); #確認表示 print " $namae\n"; print " $naiyou\n"; print "メールを送信しました\n"; end #確認表示の所で表示が改行されない。

    • ベストアンサー
    • Perl