IF文の別の使い方は?

このQ&Aのポイント
  • 最近PHPとJSを勉強しはじめました。PHPとJSのIF文の使い方が異なり、特にPerlでのIF文の書き方について困っています。PHPではHTMLタグの中にIF文を記述することができますが、Perlでは非常に手間がかかります。どのようにIF文を使えば、HTMLタグの中に簡単に記述することができるのでしょうか?
  • PerlのIF文について質問があります。最近、PHPとJSを勉強しているのですが、PerlのIF文の使い方が分からず困っています。PHPではHTMLタグの中にIF文を書くことができますが、Perlではどのように書けばいいのでしょうか?手間がかかる方法しか思いつかず、もっと簡単に書く方法はないのでしょうか?
  • IF文の別の使い方について教えてください。最近、PHPとJSを勉強しているのですが、PerlのIF文の使い方が分からず困っています。PHPではHTMLタグの中にIF文を記述することができますが、Perlでは手間がかかります。より簡単にIF文を記述する方法はないのでしょうか?
回答を見る
  • ベストアンサー

IF文の別の使い方?

タイトルはどうすればいいか現状ではよく分かりませんが、 最近PHPとJSを勉強しはじめました。 そして、覚えた順番が悪かったのかPHPとの仕様が違い、 PHPを書いていて、Perlでこれを使えないかなぁと思ったので質問したしました。 PHPでは<? if ($inputType == $val["id"]) { echo ' selected="selected"'; } ?> などとHTMLタグの中に記述が可能ですが、 私が考える限り、perlではHTMLタグの中に記述するには printを終了させてIF文を作り、またprintを記述すると 非常に手間が掛かります 例: print '<input type="submit" value="確認"'; if(~略~){print"disabled";} print">"; といった感じでしょうか? 余りにも手間が要るのでJSでdisabled化していますが、 PerlでもPHPのように簡単にHTMLタグの中に記述できないでしょうか?

  • CGI
  • 回答数2
  • ありがとう数0

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

  • ベストアンサー
  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.2

追記 printは「,」で区切って繋げる事もできるので次のような書き方もできます。 print '<input type="submit"',($x)?' checked':'','>';

その他の回答 (1)

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.1

perlではphpのようにはいきませんね。 (phpは始めからwebページ作成を目的にしてますし) あらかじめ可変部を変数に入れておいて書き出すようなやり方をよくやります。(変数を用意しておくのは手間ですがHTMLとしては読みやすくなりますので) my $submit_dis = (条件式)?' disabled':''; print <<__HTML__; <html> <head> ・・・ <input type="submit" value="確認"$submit_dis> __HTML__ また CGI.pm(*1)というモジュールを使うと print submit(-checked=>($x)?'checked':'',-value=>'送信'); こんな書き方も一応できますが私的にはなんとも?? *1 http://perldoc.jp/docs/modules/CGI.pm-2.89/CGI.pod

関連するQ&A

  • PHPのif文「POSTしていない場合」

    PHPの初心者です。 HTMLのフォームでsubmitが押されたかの判定を if (isset($_POST['submit'])){ print"押されました"; }else{  print"押されてません"; } という、形でやってきたのですが、 yes側に押していない場合を設定してelse側に押した場合を記述したいのですが、if文で「submitが押されていなかったら」とはどのように書けばいいでしょうか?

    • ベストアンサー
    • PHP
  •  php if文について

    phpの問題をといていてどうしてもわからないので教えて下さい。 お願いいたします。 if(【 A 】) { print("true"); } else { print("false"); } 【1】"php" > "perl" 【2】0 != "0" 【3】5 - 6 + 1 【4】"false" 【5】0 + "false" 【6】"543a" < 56 【7】abs(-6) > 10 / 2 あなたの回答: 【1】【4】 正答: 【1】【4】【7】 回答が1,4,7なのかわかりません。 教えて下さい。

    • ベストアンサー
    • PHP
  • If文について教えてください。

    下記のようなプログラムで、結果を”間違っています。”にしたいのですが、 結果は”OK”となってしまいます。 どうすればいいのでしょうか? #!/usr/bin/perl $a="aaa"; $b="ccc"; if ( $a != $b ){ chigau(); } print<<"EOF"; Content-type: text/html <HTML> <BODY> OK </BODY> </HTML> EOF sub chigau { print<<"EOF"; Content-type: text/html <HTML> <BODY> 間違っています。 </BODY> </HTML> EOF exit; }

    • ベストアンサー
    • Perl
  • プルダウンで選択された値を保持

    お世話になります。 PHPとMysqlでプログラムを作成しています。 プルダウンメニューを選択し、Submitボタンを押した後も選択された値を保持したままの状態にしたいのです。 以下のようなプログラムでdata2の場合だと保持ができますが、dataの場合は「すべて」に戻ってしまいます。 以上・未満を使用する場合の値の保持はどのようにすればよいのでしょうか? 宜しくお願い致します。 <select name='data'> <option value=' ' <?php if($data==" "){print " selected";} ?>>すべて <option value=' AND (data >= 1.8 AND data < 2.0) '<?php if($data>=1.8 AND $data < 2.0){print " selected";} ?>>1.8GHz以上 2.0GHz未満</option> <option value=' AND (data >= 2.00) '<?php if($data>=2.00){print " selected";} ?>>2.0GHz以上</option> <option value=' AND (data >= 2.80) '<?php if($data>=2.80){print " selected";} ?>>2.8GHz以上</option> </select> <select name='data2'> <option value='%' <?php if($data2=="%"){print " selected";} ?>>すべて <option value='1MB'<?php if($data2=="1MB"){print " selected";} ?>>1MB</option> <option value='2MB'<?php if($data2=="2MB"){print " selected";} ?>>2MB</option> </select> <input type="submit" value="絞り込む" name="submit1">

    • ベストアンサー
    • PHP
  • JavaScriptの入力制御がうまく働きません。

    JavaScriptでフォームの入力制御を行い、POSTされた値をPHPで精査して表示するコードを書いたのですが、下の例の「フード」で「その他」以外を選択するとまったく何も表示されません。ちなみにPHPのdisplay_errorsを.htaccessでOnにしてもエラーは表示されず、またJavaScriptをOFFにすると正常に表示されることから、PHPのコードではなく、JavaScriptのtxt.value=""; の部分に問題があると思われます。ですが、いろいろ調べましたが手詰まりになりました。 PHPとJavaScriptの双方にお詳しい方、どうかご教授くださいますようお願いいたします。 以下、問題のコードです。長くて申し訳ありませんm(_ _)m <script type="text/javascript"> function zzz(list,txt){ if (list.value == "その他"){ txt.disabled=false; }else{ txt.value=""; txt.disabled=true; } } </script> <?php if(!isset($_POST['pet'])){ ?> <body onload="zzz(document.getElementById('pet'),document.getElementById('petOther')),zzz(document.getElementById('food'),document.getElementById('foodOther'))"> <form method="post" action="test.php"> ペット: <select name="pet" id="pet" onchange="zzz(this,document.getElementById('petOther'))"> <option value="" selected="selected">↓</option> <option value="犬">犬</option> <option value="猫">猫</option> <option value="その他">その他</option> </select> (⇒<input type="text" name="petOther" value="" size="20" id="petOther" />) <br /> フード: <select name="food" id="food" onchange="zzz(this,document.getElementById('foodOther'))"> <option value="" selected="selected">↓</option> <option value="缶詰">缶詰</option> <option value="ドライフード">ドライフード</option> <option value="その他">その他</option> </select> (⇒<input type="text" name="foodOther" value="" size="20" id="foodOther" />) <button class="submit" type="submit"><span class="submitBTN">送信内容確認画面へ進む</span></button> </form> <?php }else{ print "<body>\n"; foreach($_POST as $key => $val){ if($key == "pet"){ if($val != "その他"){ $pet = $val; } } if($key == "petOther"){ if(!empty($val)){ $pet = $val; } } if($key == "food"){ if($val != "その他"){ $food = $val; } } if($key == "foodOther"){ if(!empty($val)){ $food = $val; } print $pet."に".$food."を与える"; } } } ?> </body> </html>

  • if 文についての質問です。

    下記ようなプログラムで、HTML 上のフィールド (AAA)が(100) で (BBB)が(200) の場合 (300) を (変数の$answer) に格納し、実行結果を Sendmail で送信する為、新しく生成された HTML 上のフィールド (CCC) に表示したいのですが、どこが間違っているのでしょうか?お手数ですがどなたか記述上、間違っている箇所をお教え頂けると有難いです。 ---------------------------------------------------------------- #!/usr/local/bin/perl #!/usr/local/bin/perl require "cgi-lib.pl"; &ReadParse(); print "Content-type: text/html\n\n"; print <<HTML_DOCUMENT; if ($in{'AAA'} eq "100" and $in{'BBB'} eq "200") { $answer = '300'; } <html> <head> <title>Web Design [ Estimate - Order ]</title> </head> <body> <form action="test_sendmail.cgi" method="post"> <input name="AAA" type="checkbox" id="AAA" value="100"> <input name="BBB" type="checkbox" id="BBB" value="200"> <input name="CCC" type="text" id="CCC" value="$answer" size="10"> </form> </body> </html> HTML_DOCUMENT

  • if 文で変数に変数を代入したいのですが・・・

    if 文、もしくは unless 文で(フィールド1) が (AAA) の場合に、(CCC) を (BBB) の中に格納したいのですが、やり方がわかりません。一応、我流で下記のようなプログラムを組んで見ました。どこがおかしいのでしょうか?どなたかお教え頂けませんでしょうか? ------------------------------------------------------------- #!/usr/local/bin/perl $フィールド1 = $in{'フィールド1'} $CCC = $in{'CCC'}; if ($in{'フィールド1'} eq "AAA") { $BBB = '$CCC'; } print "content-type: text/html\n\n"; print <<HTML_DOCUMENT; <html><head>Title</head> <body> ここに($BBB)を表示。 </body> </html> HTML_DOCUMENT exit;

    • ベストアンサー
    • Perl
  • HTML文のOptionボタン値の抽出

    出力イメージ通りに出力したいのですが、Perl の print 構文が正しくない ようで思った通りに出力してくれません。 どなたか教えて頂けないでしょうか? ■ [検索]ボタンをクリックした後の出力イメージ ■ Hello 平成18年 bye ■ メニューのHTML文 ■ <HTML> <HEAD></HEAD> <BODY> <FORM action="select.pl" NETHOD="POST"> <SELECT name="combo1"> <OPTION value="8">平成17年</OPTION> <OPTION value="9" selected>平成18年</OPTION> </SELECT> <INPUT type="SUBMIT" name="SUBMIT" value="検索"> </FORM> </BODY> </HTML> ■ select.pl ■ #!C:/Perl/bin/perl use CGI; print "Content-type: text/html\n\n"; print "<html><body>\n"; print "Hello<BR>\n"; print $form->param('combo1') . "<BR>\n"; ← ここの構文が不明 print "bye<BR>\n"; print "</body></html>\n";

  • 例外ってIf文の中に入れますか?If文の外でTry...Catchしますか??

    例外ってIf文の中に入れますか?If文の外でTry...Catchしますか?? Sub Cal(By Val Data As String)  If ( Flag = "hoge") Then  Total = js.Eval(Work)  End If End Sub それと、”エラーコードをテキストの説明に変換する”FormatMessage関数を使おうと思っています。 「例外処理 = FormatMessage関数」という図式は古いですか?いまはもっと違う方法ですか?

  • php if問題について

    php の問題でどうしてこの答えになるかわかりません。 教えて下さい if(【 A 】) { print("true"); } else { print("false"); } 【1】"php" > "perl" 【2】0 != "0" 【3】5 - 6 + 1 【4】"false" 【5】0 + "false" 【6】"543a" < 56 【7】abs(-6) > 10 / 2 あなたの回答: 【2】【3】 正答: 【1】【4】【7】

    • ベストアンサー
    • PHP

専門家に質問してみよう