- 締切済み
***.cgi内のサブルーチンにアクセス
とあるスクリプトを見ると、htmlページのボタンで***.cgi?サブルーチン名 へリンクさせるものがあって、特定のサブルーチンにアクセスするようになっているのですが、自作スクリプトでこのようなことを真似てもそのサブルーチンだけが呼び出されず、普通に***.cgiにアクセスした状態になります。過去の記事で***.cgi?変数名=***として、Perl側でifを使って操作させるというのを見つけましたがそれではなく、直接特定のファイルの特定のサブルーチンにアクセスしているようなのですが、どうすればできるのでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- yuuki0229
- ベストアンサー率70% (33/47)
回答No.2
my $q = $ENV{QUERY_STRING}; if($q eq 'myfunc'){ myfunc() } elsif($q eq 'foosub'){ foosub() } これだけのことでしょう。 「変数名=***」のようにも仰られていますが、Perlはそういった処理はしません。 スクリプト中のどこか、もしくはモジュール等でそう(CGIとして利用するとき便利に)なるよう変数に代入されているだけなんです。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
回答No.1
?以下の文字列(クエリ)を取得してeval (あるいは、シンボリックリファレンスで呼び出し)してるんじゃないかと思います。
質問者
お礼
ご回答ありがとうございました。
お礼
↑間違えました。 お礼でした。
補足
では何もない状態では不可能ということですね。 あとそうやってアクセスする必要性もなさそうですね・・・ ご回答ありがとうございました。