- ベストアンサー
\* の意味が分かりません。
CGI.pmのソースコードにある \* の意味が分かりません。 どうかよろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
どの \* ? C:\perl\lib>grep "\\\*" cgi.pm $CGI::DefaultClass->binmode(\*main::STDOUT); $CGI::DefaultClass->binmode(\*main::STDIN); $CGI::DefaultClass->binmode(\*main::STDERR); return ("start_$1","end_$1") if $tag=~/^(?:\*|start_|end_)(.+)/; : read(\*STDIN, $$buff, $len, $offset); next unless /\*/; # not a pattern match $pat =~ s/\*/.*/g; # turn it into a pattern (my $i = $$self) =~ s/^\*(\w+::fh\d{5})+//; my $ref = \*{"Fh::$fv"}; $query = new CGI(\*STDIN); $query->save(\*FILEHANDLE) $q->save(\*OUT); my $q = new CGI(\*IN); 正規表現の中にあるのは、'*' がメタ文字なのでそのエスケープ。 それ以外は、型グロブのリファレンス。
お礼
sakusaker7さま、ありがとうございました。 20ポイント出しておきます。
補足
sakusaker7さま、ご回答ありがとうございます。 正規表現の*は「直前の文字の0回以上の連続にマッチ」でしょうか? リファレンスはC言語で言うところのポインタの&(指す)みたいなモノ? スカラーとかだけじゃなくて型グロブでもリファレンスが使えるのですね!? 「\*ファイルハンドル名」 でファイルハンドルへのリファレンス?