電子書籍の厳選無料作品が豊富!

質問させていただきます

最近ちょっとcgiに触れているのですが、perlには次のようなことは可能なのでしょうか
可能ならばもう少し勉強して実際にそういった動きをするcgiを作ってみたく思っています

1.テキストボックスにUrlを入力してもらう
2.送信ボタンが押されたらUrlを参照して対象のページの内容を見にゆき、
3.その中を文字列検索して欲しい情報を持ってきて、表示する

cgiに「できること」は様々なページに載っていたのですが、「できないこと」はさすがに載っておらず
2.の部分ができるのかできないのかがよくわかっておりません
cgiで可能なのかどうか、もし不可能ならばそういった動作を行うのによいのはどんな言語なのか
というのをご返答いただければと思います。

A 回答 (1件)

Perl自体は出来ます。

useでHTTPとかソケットを入れれば(使用する宣言をすれば)、通信できる様になりますので。
※ただし、お使いのPerlがHTTPやソケットをサポートしているかは確認して下さい。私はActivePerlを使いました。
私はテキストボックスからではありませんが、Windowsのコマンドプロンプトから、cgiの起動パラメータにURLを指定してCGIを起動し、ファイルをダウンロードさせるというものは作ったことがあります。
つまり、URLの情報を、起動パラメータで受け取るか、テキストボックスの入力(フォームからの入力)とするか、の違いなだけです。
(これをもって、Perl自体に通信機能はあるという証明とします)

ですが、主さんの質問を読んで、あれ?と思った部分があります。このCGIをどこで動かすかです。

自分のPC等で動かすなら動く様に環境を設定すれば(セキュリティ設定等)動かすことが可能でしょう。
ですが、サーバを借りる等自分でPerlの動作環境を変更できない、もしくはHTTPやソケット等の通信に制約がある場合は、動かすのは難しいのでは無いでしょうか?
つまり、Perl以外の部分で出来ない可能性があるんじゃないかと。

こういうことなので、Perl自体は通信機能がありますから可能だけど、動作環境次第では不可能、と回答します。
    • good
    • 0
この回答へのお礼

unacyoさんありがとうございます、Perlでの部分と環境による部分、大変よくわかりました。

お察しの通りレンタルサーバ上に設置したcgiでの利用を考えていました。
ボタンを押すだけでページを読み込もうとするのは悪さをするのに丁度よさそうなので、何か機能制限があるのかもしれないと思っていましたが、
そういう制限はサーバーの設定でも行うものなのですね。

サーバーの設定についてですが、apacheをcgiテスト用にインストールしてありますが今の所よく理解できておりません。
とはいえ少なくとも自分の環境で設定しても自分がサーバーを立てない限り他人が常時利用することはできないということになりそうですね。
何か他の方法を考えるか、自分でサーバーを運用することを考えるか……

引き続きこういった機能を持たせるのに向いた言語というのを紹介していただける方もお待ちしてみようと思います。

お礼日時:2012/01/26 20:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!