- ベストアンサー
perlスクリプト $1 qq などについて。
以下のスクリプトについて質問があります。 $_ = $mail; m/(^[a-zA-Z0-9\.\_\-]+\@[a-zA-Z0-9\.\_\-]+)/g; $mail = $1; if($in{mail} ne $mail){ &PrintError('メールアドレスは、半角文字で書いてください。'); } このスクリプトなのですが、$mailの値を$_に代入し、$_の値をm/・・・ の部分で半角チェックしているのは分かるのですが、半角チェックされた後どうなっているのかがわかりません。また、$1 とはどうゆう意味なのでしょうか??ifより後の部分は分かっています。 また、 open(IN, "<database.dat"); while (<IN>) { print; } close(IN); の全体的な説明をお願いしたいです。ファイルハンドルという概念とopen,close両関数は分かっています。 最後に print qq(Content-type: text/html; charset=Shift_JIS\n\n); とあった場合の qq の意味が分かりません。 分かる方いらっしゃいましたらご教授くださると幸いです。よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>$1 とはどうゆう意味なのでしょうか? その前のマッチングで( )でマッチした部分 >全体的な説明 "database.dat" を一行毎読み出し、標準出力に表示します。 print; は、 print $_; と同じで、この場合の$_ は、<IN> で読み込まれた一行 >qq qq( 中身 ) は、関数呼出(形?)による "中身" とほぼ同じ
その他の回答 (2)
- jikenjp
- ベストアンサー率38% (5/13)
追: すいません、一言、忘れてました。UNIX/Linux 以外では、動作確認いっさいしておりません。
お礼
遅くなって申し訳ないです、みなさん回答ありがとうございました!サブルーチンだったのですね。。気づきませんでした。
- hara_peko
- ベストアンサー率28% (11/38)
PrintError そのスクリプトのどこかに定義されているサブルーチンですね。(もしくは require か use されているライブラリ、モジュール内に定義されているサブルーチン) 名前からすると html でエラーメッセージを出力する為の物かと。
お礼
回答ありがとうございます! 一つ質問を追加してもよろしいでしょうか?? PrintErrorとはどのような時に使う関数なのでしょうか?分かる方いらっしゃいましたらよろしくお願いします。