Perlの複数行コメントとは?

このQ&Aのポイント
  • Perlでは、複数行コメントを記述するために=for commentと=cutを使用します。
  • =for commentと=cutの間には、複数行のコメントを記述することができます。
  • また、一行コメントも問題なく記述することができます。
回答を見る
  • ベストアンサー

Perlでの複数行にわたるコメント

Perlにおいて複数行コメントを記述するには =for comment コメントを記述 =cut と書けるとのことですが =for commentと=cutの間に 以下のように1行のコメントが記述されていても問題ありませんか? =for comment #名前をチェック if ($FORM{'name'} eq "") { $error .= "「名前」が入力されていません。$br"; } #タイトルをチェック if ($FORM{'title'} eq "") { $error .= "「タイトル」が入力されていません。$br"; } #コメントをチェック if ($FORM{'comment'} eq "") { $error .= "「コメント」が入力されていません。$br"; } =cut

  • Perl
  • 回答数2
  • ありがとう数2

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

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

http://perldoc.jp/docs/perl/5.14.1/perlpod.pod =forを認識した時点で、それ以降 =cut までは、プログラムではなく、ドキュメントです。 ただの文章なので、何が書いてあっても、プログラムとして動作しません、

masa-25
質問者

お礼

リンク先も拝見しましたが、大変参考になりました。 どうもありがとうございました!(^-^)

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4851/10265)
回答No.1

問題ありません。

masa-25
質問者

お礼

不安だったので安心いたしました。 どうもありがとうございました!

関連するQ&A

  • 掲示板スパム対策(改造)ガードキー効かず

    二度目まして。 同掲示板で、ガードキー入力を必要とするようにしたいのですが、 うまく機能してくれません。 「0123」を入れても、書き込みできない状態です。 他のルーチンとの兼ね合いでしょうか??? #===============================記事をファイルに書き込むサブルーチン=========================== sub regist { #入力されたデータをチェックして、投稿者、コメント、メールアドレスが #入力されていなければエラーを出力し、再入力を促す if ($FORM{'name'} eq "") { &error(bad_name); } if ($FORM{'comment'} eq "") { &error(bad_comment); } if ($in{'guard'} ne "0123") { &error(bad_guard); } #スパム対策用●●●●●●●● #メールアドレスの未記入を許可する場合は、下の行の先頭に「#」をつけて無効にする #if ($FORM{'email'} ne "") { if (!($FORM{'email'} =~ /(.*)\@(.*)\.(.*)/)) { &error(bad_email); }} ~略~

    • ベストアンサー
    • CGI
  • 現在PHPの勉強をしています。初心者のためご教授いただければと思います

    現在PHPの勉強をしています。初心者のためご教授いただければと思います。 メールフォームを作成しており、エラーチェックで困っています。 簡単に流れを説明しますとフォーム画面で入力をしてもらったら確認画面へと移行します。 ここでエラーがあった場合、confirm.phpにてエラーチェックをし、form.phpに戻り、エラーがなければ確認画面にて入力した、項目が表示されるようにしたいと思っています。 ソースは下記のとおりになります。 form.php ---------------------- */ <html> <body> <form action="confirm.php" method="post"> 名前:<input type="text" name="name" value="" /<?php echo $errmsg['name'] ;?><br> 内容:<textarea name="comment" rows="5" cols="40"></textarea><?php echo $errmsg['comment'] ;?><br> <input type="hidden" name="contact" value="form" /> <input type="submit" name="submit" value="確認" /> </form> </body> </html> confirm.php ---------------------- */ <?php $name = $_POST['name']; $comment = $_POST['comment']; if(isset ($_POST['contact'])) { $errmsg = array(); if(empty($name)){ $errmsg['name'] = '未入力'; } if(empty($comment)){ $errmsg['comment'] = '未入力'; } if (count($errmsg) != 0) { header("Location: index.php"); exit; } } ?> <html> <body> 名前:<?php echo $name; ?><br /> 内容:<?php echo $comment; ?><br /> </body> </html> としております。 if (count($errmsg) != 0) { header("Location: form.php"); exit; 上記のようにするとエラーチェックの表示がされません。 require(form.php);にするとform.phpが表示されるのですがURLを見るとconfirm.phpの状態になっております。 header("Location: form.php");を使用してのエラーチェックをしたいのですが、どのように記述したらよろしいのでしょうか? 上記の内容でどなたかご教授いただけないでしょうか? 宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • Perl/CGIでのメール記入チェック方法

    メールの全角などの記入ミスをチェックする方法なのですが、現在 if($FORM{'mail'} eq ''){&error("戻ってメールアドレスを入力してください。");} if ($FORM{'mail'} =~ /\s|\,/) { &error("メールアドレスの入力が不正です。");} if ($FORM{'mail'} !~ /[\w\.\-\&]+\@[\w\.\-\&]+\.[\w\.\-\&]/) { &error("メールアドレスは半角で正しくご入力ください。");} のように記述しているのですが、この場合 あ@hogehoge.com → 「メールアドレスの入力が不正です。」 しかし、 あ1234@hogehoge.com → エラー表示せず となってしまいます。半角と全角が混在したらチェックできないのです。これを回避する方法はありますか? よろしくお願いします。

    • 締切済み
    • CGI
  • Perl 指定行への書き込み

    #!/usr/bin/perl require './jcode.pl'; $file = "houkoku.txt"; if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); } else { $buffer = $ENV{'QUERY_STRING'}; } @pairs = split(/&/, $buffer); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; &jcode'convert(*value,'sjis'); $value =~ s/</&lt;/g; $value =~ s/>/&gt;/g; $value =~ s/\t//g; $value =~ s/\r\n/\n/g; $value =~ s/\r/\n/g; $value =~ s/^\s+//; $value =~ s/\s+$//; $FORM{$name} .= (defined $FORM{$name}) ? "," . $value : $value; } open( WRITE, "+< $file" ); print WRITE $FORM{'name'},",",$FORM{'color'}."\n"; close(WRITE); foreach ( keys %FORM ) { if( $FORM{$_} eq '' ) { $FORM{$_} = '入力がありません'; } } #if ( $FORM{'name'} eq '' ) { $FORM{'name'} = '入力がありません'; } if ( $FORM{'color'} eq '' ) { $FORM{'color'} = '入力がありません'; } print "Content-Type: text/html\n\n"; print <<END_HTML; <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> </head> <body> <center> <table border="1"> <td> $FORM{'name'}</td> <td> $FORM{'color'}</td></tr> </table> </center> </body> </html> END_HTML exit; として、カンマ仕切りでデータを保存できるようになりました。 これを、指定行への書き込みを行いたいのですが、どのようにしたら良いでしょうか。 たとえば、5行目にこのデータを書き込んで、常に5行目を上書き更新するような感じです。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • エラーメッセージがうまく表示されません。

    フォームから年月日を取得し、フォーム入力がなかった場合、 エラー表示がされるようにしたいと思っています。 下記のようにif文とサブルーチンで処理しようとしていますが、 何か問題になる点はありますでしょうか? ご教授お願いします。 ### 入力チェック ##### if($in{'year'} eq "" || $in{'mon'} eq "" || $in{'day'} eq ""){ &errer(100,"日にちを指定してください"); } ### エラーチェック ##### sub errer{ ($num,$word) = @_; print <<EOF; <html> <head> <title>エラー</title> </head> <body> Error $num<br> $word<br> <br> <br> <br> <a href="JavaScript:history.back()">戻る</a> </body> </html> EOF }

    • ベストアンサー
    • CGI
  • 空文字のエラーチェック(問い合わせフォーム)について

    宜しくお願いします。 書籍を参考にして、PHPにて問い合わせフォームを作成しております。 初心者のレベルです。 問い合わせフォームに入力されたデーターの、 エラーチェック処理について、1点不明なところがあり、質問させて頂きます。 コメント入力欄があり、そこは1000文字以内で必須入力してもらいます。 そのためエラーチェックとして、下記のコードが書籍にあります。 function erro_check($check_data){ if(isset($check_date["comment"]) && $check_date["comment"]= = ="") {   $error_list[ ]="コメントを入力してください。";  }elseif(trim($check_date["comment"]) = = =""){ $error_list[ ]="コメントを入力して下さい。";  }elseif(mb_strlen($check_date["comment"]) > 1000){     $error_list[ ]="コメントは1000文字以内で入力してくださ     い。";  }  return $error_list; } 空文字入力のチェックが二度にわたって行われているような気がします。最初のif判定だけで、十分なような気が・・・。 もしくは、 if(isset($check_data["commento"]) && trim($check_data["comment"]) === ""){ ... } とすればいいのでは?と。。。 でも書籍の中のコードは、何か意味があってのものだと思います。 どなたか宜しくご教授くださいませ。 お願いします。

    • ベストアンサー
    • PHP
  • 現在PHPにてsessionを使用したフォームを作成しております。

    現在PHPにてsessionを使用したフォームを作成しております。 現在、PHPは初心者で勉強中ですが悩んでいるため、ご質問させていただきます。 ソースは下記の通りです。 /* contact.php ----------------------*/ <html> <body> <form action="confirm.php" method="POST" > コメント:<br /> <?php echo $_SESSION['error_comment']; ?> <textarea name="comment"><?php echo $_SESSION['comment']; ?></textarea> <input type="hidden" name="contact" value="<?php $contact; ?>" /> <input type="submit" name="submit" value="確認" /> </form> </body> </html> /* confirm.php ----------------------*/ <?php session_start(); $comment = htmlspecialchars($_POST['comment']); if (isset($_POST["contact"])) { if (empty($comment)) { $_SESSION['error_comment'] = "コメントを入力してください!"; } if (!count($contact)) { $_SESSION["comment"] = $comment; header("Location: contact.php"); exit; } } else { $msg = '編集しました。'; } <html> <body> <?php echo $msg; ?> </body> </html> としております。 上記の内容でテストをするとcomment欄に入力されないと「コメントを入力してください!」と表示されますが、入力(テストと入力)をして確認をすると onfirm.phpのページは表示されずcontact.phpのcomment欄にテストと表示されたままです。 入力された場合はconfirm.phpを表示されせるにはどうしたらよろしいのでしょうか? お分かりの方がいらっしゃいましたら、ご教授お願いします。

    • ベストアンサー
    • PHP
  • フォームにメールアドレスを記入禁止にするには?

    Q&Aフォームにメールアドレスを記入させないためにはどのようにしたら良いでしょうか? 以下がそのフォームの記入内容のチェックです sub faq_form_check { # 書き込み停止状態? if($end_flg){&error("Faq Error !","Q&Aに投稿できない状態です");} $FORM{'faqcom'} =~ s/<br>//g; if(!$FORM{'faqcom'}){&error("Form Error !","コメントが入力されていません");} if($FAQ_MAX*2 < length($FORM{'faqcom'})){&error("Form Error !","コメントが全角$FAQ_MAX文字を超えています$br戻って修正して下さい");} if($no_pass){&error("Login Error !","Q&Aへの投稿はログインが必要です");} } この部分に if(○○○○($FORM{'faqcom'})){&error("Form Error !","メールアドレスは記入できません");} こんな感じでいけるのではと思うのですが○○○部分の記載方法がわかりません お知恵のある方よろしくお願いいたします

    • ベストアンサー
    • CGI
  • 確認のメールアドレスの比較の方法

    フォームメールなどで、メールアドレスを入力違いを防ぐため、2回入力させ、違う場合はエラーメッセージを表示させたいのですが、どのように 記述すればよいでしょうか? ちなみに今使っているのでは、以下のような形で入力項目をチェックしています。どうぞよろしくお願いします。 if ($namae eq "") { &error("名前が入力されていません");} if ($post eq "") { &error("郵便番号が入力されていません");} if ($pref eq "") { &error("県名が入力されていません");} if ($address eq "") { &error("住所が入力されていません");} if ($phone eq "") { &error("電話番号が入力されていません");} if ($phone!~ /^\d{2,5}-\d{1,4}-\d{4}$/) { &error("電話番号は半角数字でハイフォンで区切って入力して下さい"); } if ($email eq "") { &error("メールアドレスが入力されていません");} if ($email =~ /\s|\,/) { &error("メールアドレスの入力が不正です");} if ($email !~ /\b[-\w.]+@[-\w.]+\.[-\w]+\b/) { &error("メールアドレスは半角で正しくご入力ください");} #if ($email !~ /(.+)\@(.+)\.(.+)/) { &error("メールアドレスの入力が不正です");}

    • ベストアンサー
    • Perl
  • フォームの値をまとめて取得する関数

    以下のようなフォームから値を取得するときに、(2)のような関数化したいと思っていますが、思うように取得できません。どこが問題かアドバイスください。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=sjis" /> <title>sample</title> </head> <body> <form action="" method="post"> 名前:<br /> <input type="text" name="name" size="30" value="" /><br /> コメント:<br /> <textarea name="comment" cols="30" rows="5"></textarea><br /> <br /> <input type="submit" value="登録する" /> </form> </body> </html> (1)問題なく表示できる <?php  foreach(${"_" . $_SERVER["REQUEST_METHOD"]} as $k=>$v) {   ${$k}=$v;  } echo "名前:$name<br>"; echo "コメント:$comment<br>"; ?> (2)表示できない? <?php function Request() {  foreach(${"_" . $_SERVER["REQUEST_METHOD"]} as $k=>$v) {   ${$k}=$v;  } } Request(); echo "名前:$name<br>"; echo "コメント:$comment<br>"; ?>

    • 締切済み
    • PHP