• ベストアンサー

CGI(perl)って・・・

どんな感じで使ってます? あれはプログラム言語として使ってます? あの分かりにくい記号を覚えて使うものなんですか? 今まで(と言うか今も)COBOLとJAVAを 使ってきたんですが、なんかパズルのように組み合わせる パールのCGIになじめないっす・・・ どんな感じで使ってるか教えてください! やっぱ(命令文みたいなの、笑)覚えて作ってます? それとサンプルを埋め込んで使うんですか? だれでも良いんで参考までに 教えてぇぇぇぇ!同業者でCGI詳しい人もヨロシク☆

  • CGI
  • 回答数6
  • ありがとう数8

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

  • ベストアンサー
  • haporun
  • ベストアンサー率40% (230/562)
回答No.4

そうですねぇ、私も初めて見たときびっくりしました。 私はVB→ノンVisualなC++→Perlの順で来たので、独特な記述の多さにとまどいました。 Perlは暗黙の了解が多いです。 最初に私のPerlのプログラムを前進させたのは $_ 変数の理解ですね。 変数をしているすべきところを省略すると、$_ が暗黙に使われることが多いってところです。 それを覚えたら、暗号のような文がそれなりに分かるようになりました。 あとは正規表現です。 これは覚えるとおもしろいです。 周りのもの全部正規表現で表現したくなります(ウソ。 私は、どのプログラム言語でもそうですが、他人のプログラムを読む力があまりないので、どれも、ほとんど1から書き始めています。 分からないことがあったら、本じゃなくて他人に聞く(滅。 だって、他人のソースはわかんないから。 あとは、慣れてくるとサブルーチンにして使い回しです。 この辺は他の言語と同じかな。 サブルーチンにしてから、全く他のところで出てこないような知識は凍結してるものもありますが。 Cに似てるって言ったら、JAVAのほうが似てると思うけど・・・。 っていうか、PerlはUNIXが初なので、UNIX自体Cシェルというもので動いているくらいですから、Cに似てるって言っても当たり前と言えば当たり前ですが。 CGIのほかにも、ファイル整理とかにも訳に立ったりして。 ちょっとしたスクリプトを組んで、ファイルの名前を一気に変えたり、同じ内容のファイルがあったら消したりとか。 とにかく、UNIXの自動化の思想も含まれてるし、それがWindowsで使えるってのも嬉しいです。 PHPに挑むんだったら、JSPは~?

keeth_moon
質問者

お礼

そぉなんですよ、今の所他人のソースは使う気ないんですよ☆ワラ 一応プログラマ根性で作ろうかと。。。恥 そかそか、サブルーチンでそのうち溜まって行きますもんね 実はCはあんまり詳しくないもんで・・・てへへ JAVAはサーブレットとJSPも使えるんですよ でも掲示板とかでJAVAサーブとか使っても変じゃないですかね? なんか今回は開発言語も迷ってまして。。。笑 ていねいにありがとぉごぜぇますだ・・・涙

その他の回答 (5)

  • you-m
  • ベストアンサー率58% (190/327)
回答No.6

何だかタイムリーな質問があったので・・・ 私が回答しちゃってるんですけど、少しは参考になるかと・・・。

参考URL:
http://www.okweb.ne.jp/kotaeru.php3?q=235637
keeth_moon
質問者

お礼

村人その1: 「ありがとぉごぜぇますだ」 そですよねぇ、軽い、安い、上手い、 てな感じはしますねぇ、CGIならアパッチ 動かさなくても良いですしね。 JAVAサーブから来たのでかるちゃ~ショックでした!ワラ

  • haporun
  • ベストアンサー率40% (230/562)
回答No.5

JSP使えるんだ、いいなぁ。 私もPerlの他にも役立つサーバーサイド言語を勉強しようと思い、ASPとPHPとJSPが動く環境を作ったまではいいですが、結局3日坊主です。 PHPで掲示板っぽいものを作るまでには至ったのですが、JSPなんて参考書も買ってないや・・・・。 うーむ、JSP使えるレンタルサーバーとか、なかなかないですからねぇ。 PHPなら少しは繁栄してきたみたいですけど。 ましてや、ASPなんてM$さんの仕組んだ穴がいっぱい♪で全然ないし。 Cは詳しくないとのことで、JAVAとの比較を。 ○ 文字列型がないので、Byte配列で文字列を表現。 ○ クラスがないので、データ構造と一緒に関数を管理できない。 ○ ポインタを知らないとまるで何もできない。 こんなところでしょうか。 構文は同じですよ。 +=演算子とかがあって;で終わって。 そういう意味では、Perlも同じですが。 Pascalみたいに代入が:=じゃないし、記号はともかく、変なキーワードはあまりない。 いろんな言語を知っておけば、それだけ雇用価値のある人間になるわけですし、自分を磨くことに私も精を出してます。

keeth_moon
質問者

お礼

ういっす☆ さんくすです。 JSP簡単ですよぉ?何かJAVAで out.Printin("<html>"); とかが魔法のように簡単に書けるっていう 魔法として捕らえてますが…ワラ そうですよねぇ、PHPとかJSPとか選択肢多数ですしねぇ(汗 自分なんか今まではCOBOL&JAVAのみですから (この組み合わせが自分でもどうかと思うが・・・笑) 磨かなきゃ・・・ですね。 ほうほう、構文は同じかぁ、なんか CGIとPERLと混同してしまって JAVAとの比較だいぶ参考になりました お辞儀です、ぺこり

  • you-m
  • ベストアンサー率58% (190/327)
回答No.3

歴史的には、オブジェクト指向が一般的になる前からの言語ですから、Javaの発想はひょっとすると捨ててしまった方が理解が早いかもしれませんね。 基本的には手続き型の言語ですし、基本は機能を関数でまとめる構造化プログラミング言語である点では、Spurさんが書かれてる通りです。 ひょっとすると、CGI向けの用語とPerlの用語がごっちゃになってませんか? Perlになれるためには、CGIで無いプログラムを何本かPerlで組んで見るとその辺の区別がつきやすくなると思いますけどね。 ・・・ただ、人の書いたPerlのソースはあまり見たくないですね。 省略の美学とやらがあって、やたらと複雑な処理を1行で書いて見せたりとかする人が重症のPerl屋には多いんですよね。 異様に可読性が悪い気がしてならないんですけど。

keeth_moon
質問者

お礼

そうなんですよぉ、PERLってCGIとの差もあるんですよねぇ。 これはやっぱJAVAとサーブレットの違いと似たものなのかなぁ といった感じでの認識っす・・・とほほ そうですねぇ。 ごちゃまぜになってるかもっす、 しんせつにありがとです☆

  • Spur
  • ベストアンサー率25% (453/1783)
回答No.2

(1)あれはプログラム言語として使ってます? いえいえ、perlは立派なプログラム言語ですよ。 (2)あの分かりにくい記号を覚えて使うものなんですか? わかりにくくは無いと思いますし、記号でもありませんが、プログラム言語なので、覚えるしかないと思います。 (3)やっぱ(命令文みたいなの、笑)覚えて作ってます? ???命令ではなく、関数です。 そこの考え方がそもそも違うのでなじめないんじゃないでしょうか? JavaでもVBでも同じですが、最近のプログラム言語は「命令」ではなく、「関数」で組み立てる構造化プログラミング向きになっています。 特にperlはスクリプト言語なので、非常に面白いです。 でも、そろそろ流行遅れの感がありますので、phpへの乗り換え時期かな?

keeth_moon
質問者

お礼

そかそか、ありがとです☆ 関数ね、ふむふむ、ワラ う~ん自分にとっては分かりにくいきが・・・汗 JAVAはサーブレットでもアプレットでも 分かるのですが・・・どうも 中途半端にJAVAでオブジェクト指向でないしなぁ・・・ でも頭切り替えて関数で覚えてみますっ。 PHPのが良いのか・・・ふむふむ、参考になりや下

  • noopee
  • ベストアンサー率38% (114/297)
回答No.1

こんにちは。 perlメインでcgi作ってますが。 そんなにわかりにくいですかねぇ...? Javaの方がわかりにくいような?? 記号って何のことでしょう?? 記号なんてそんなにあったかなぁ。 例えばどんなの?? 最初はその辺に公開されてるソースコード見ながら改造したりしてましたけど、アップロードすればコンパイルもいらないし、エラーログ見れば大体バグもわかるし、Cをいじっていた時より楽だな~と思った記憶アリ。 モジュールもいっぱいあって、やりたいことが割と楽に実現できる(そんなに難しいことしてないからかも)という感触です。 COBOLは触ったことないんで、比較できませんが。

keeth_moon
質問者

お礼

ありがと~ござ~ぇます☆ そかそかぁCにも近いんすよねぇ。 ふむふむ、Cできる人は尊敬です 確かにエラーログは分かりやすいですよね ふむふむ、参考になりや下。ワラ 記号と言うか命令文?メソッド? CGIの言い方がわかんないすけど、文の書き方が 大雑把でごちゃごちゃしてるんですよねぇ。 さすがにプログラムは作れるんですがリファレンスが手放せないす・・・泣

関連するQ&A

  • Perl(cgi)でこれはできますか?

    今まで、デスクトップ上にあるJAVAのプログラムで、 http://***.ne.jp を解析して、その中から、ある値を含む条件のURLのみを抜き出してHTMLリンク集を作っていました。 この作業を、ウェブベース(sakura.ne.jpのライトプランで利用予定。使用可能言語は多分perlのcgiのみ)で行うことはできないものかと思っております。 具体的には、 インプットボックスに、解析したいURLを入れて、検索ボタンを押すと、そのURLの文章の中から必要な文章のみを抜き出してそれと、HTMLリンク集にして返すというプログラムです。 また、perlやcgiは今まで殆ど触ったことが無い言語なので、どんなことでも、参考になりそうなことがありましたら是非是非、ご紹介ください。 宜しくお願い致します。

    • ベストアンサー
    • Perl
  • なぜ CGI は Perl 言語で作成/動く環境が多いのか。

    最近 CGI に興味をもちここで質問しながらネット検索をしました。 すると Perl 言語での CGI サンプルが一番多く C 言語で作る CGI の サンプルが少し見つかりました。 私の使っている無料サーバーでも CGI は使えますが Perl 言語だけ有効です。 セキュリティの問題で SSI と組み合わせた C 言語の CGI は実行出来ないようです。 質問内容: (1)なぜ CGI は Perl 言語が一番多いのか?→PHP、Cもあるのに (2)なぜ無料サーバーの多くが Perl 言語しか使えないのか? (3)処理の重い CGI を使うとサーバーがダウンするので使わないようにと  私の使っている無料サーバー(infoseek)でなっています。どの程度の  処理のことでしょうか? 上記の3つまたは1つでもアドバイスをして欲しいです。 回答をお待ちしています。

    • ベストアンサー
    • CGI
  • PerlでCGIの書き方

    今、HTML:Templateを用いてCGIのプログラムを書いています。 基本的にCGI上のボタンをおすとPOSTで情報をわたして、次のCGIにいき、そこからTMPLを読み出して、画面を表示してるのですが、画面場のボタンをおしてもCGIを更新せずに、Perlの実行だけすることは可能ですか?あるいは、POSTでCGIに届いた情報をIF文で中身を確認して、表示するTMPLをかえて、Perlの実行も行うのが普通のやりかたなのでしょうか? あまりよくわからずにネットだけの情報をたよりにプログラミングをしているので設計の仕方など分からないことが多々あります。 どなたかCGIに詳しい方ご返答おねがいします。

    • ベストアンサー
    • CGI
  • perlのcgiが動かない・・・

    cgiを組もうと思い、まずは簡単なもので試そうと思ったのですが、 うまくいかず困っています。 ↓プログラムは、こんな感じです。 ファイル名:index.cgi #!/usr/bin/perl print "<html>"; print "<body>"; print "abc"; print "</body>"; print "</html>"; <やってみたこと> ・Perlのパス「#!/usr/bin/perl」 が間違っていないか? which perl で /usr/bin/perl とでます。 ・Apache の設定が正しく行なわれているか? http://localhost でindex.htmlがきちんと表示できています。 ・「hello.cgi」 の設置場所を間違っていないか? プログラムソースが出るということは、 間違っていないのではないでしょうか? ・ためしに実行してみた TELNETで ./index.cgi <html><body>abc</body></html> とでてきました。 これはちゃんと動いているのでは?? 何か勘違いしていますか? お気づきの点を教えてください。よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • perl/cgiでのランキングについて

    perlを(数日前から)勉強中の身ながら恥を承知で書きます。 元々プログラミングが苦手な事もあり 手をつけようにもつけられおらず、エラーがどうの、ではなく 情けながら…はじめからわからない…分野でして、 使用言語:perl 本題は HTMLのtextboxから「名前」「スコア」を入力し、 それをスコアが降順(高い順)に 1位から3位まで名前と共に表示させるCGIを目的としています。 例 順位・名前・スコア 1位・kenes・2007 2位・keiko・2000 …… 書いてある事が簡単なperl/CGIなのも分かっているのですが 先日までC言語の方をメインに勉強しPerlを触る時 C言語とのギャップに妙な混乱が発生し、なかなか理解出来なっており そもそもCGI自体、あまり触った事が無く、更に当人自身、 応用する事が不得意であるのですが今、非常に困っています。 どうか参考になる本、プログラムなどをご教授賜りたく候。

    • ベストアンサー
    • Perl
  • テキストのみのメールフォーム用CGIにチェックボックスを設置

    現在、Perlを使ったメールフォームCGIを作成中なのですが、 元々Perlの知識はほとんどないところ、 サンプルCGIをダウンロードして必要な部分だけを修正し、 少しずつ希望するメールフォームに近づけているところです。 テキストフォームを新たに追加して、 それに対応できるように CGIプログラムの命令文を多少追加したりする程度は 何とか出来るようになりましたが、 チェックボックスを設置してみたところ、 複数にチェックを入れても、 送られてくるメールには はじめにチェックしたvalue情報しか送られてきません。 CGIのどこを修正すれば良いのか、 Perl言語自体をきちんと勉強していない私にとっては 皆目検討もつかず、暗礁に乗り上げてしまっています。 この程度の情報では、まともに回答するには情報不足だと思いますが、 このような問題解決には概ねCGIの どの辺りのどの命令文を確認すれば良い等、 判断できる範囲でご教授いただけましたら幸いです。

  • CGI/Perl の画像UPプログラム

    1、2枚の画像でいいので、ネットを見ている人に画像のUPしてもらうCGI/perlのプログラムの内容はどのように書けばいいのでしょうか。 _______________ ___ │c:programfile~~~~~~~~~~~~~~~~~~│ │参照│  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ こんな感じで作りたいのですが、どのようなプログラム文になるかの記載をお願いします。 よろしくお願いします

    • ベストアンサー
    • CGI
  • MySQL・CGI/Perl言語を学びたい。

    プログラムの学習を始めようと思いますが、MySQL・CGI/Perl言語を学ぼうと思っております。 そこでどの言語から始めたらいいのか?お薦めの書籍はどんな物か等など教えて頂きたいです。 学びたい言語とは異なりますが以前、やさしいJava第2版で学習していましたが、中盤以降から何故この機能が必要なのか?また具体的にどういった場面で使用するのかが書かれてなく只やり方しか書かれてなく、挫折してしまいました。 時間が出来た事もありまして最近になって又興味を持ち始めたので、どの言語からの学習がいいのか、 そしてお薦めの書籍(どういった場面で使用するプログラムか具体的に書かれている等)がありましたらよろしくお願いします。 最終的にはCGIプログラムからデータベースにアクセス?してデータの追加・削除、不特定多数の方が出来るログイン機能等の作成(簡単に言えば通販サイトの仕組や、よくあるCGIゲームの様な代物)到達するくらいのレベルが目標です。

    • ベストアンサー
    • Perl
  • Perl/CGIプログラムとPHPプログラムはどちらがメジャー?

    2000年くらいから自分のWEBページを作成して、Perlで書かれたCGIプログラムを設置していました。 また、2005年くらいからはnucleusなどのPHPで書かれたBlogを運営したりして、現在に至ります。 現在、WEBページ制作代行の仕事をしていますが、Perl/CGIプログラムとPHPプログラムでは、今はどちらがメジャーというか、旬なのでしょうか? プログラムの内容によって使い分けるのが良いのかとも思いますが、現在はどちらの言語がメジャーであって、使い勝手などが良いのか、教えてください。 単語の用法など間違いがありましたらご了承下さい。 尚、Perl、PHP共に、一からプログラムを作成することはできませんが、作られたプログラムを改造する程度ならできるレベルです。 よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • JavaとJavaScript,cgiの関係

    今、まったくの初心者で学校に通い、JAVAを学ぼうとしている者です。 「javaプログラムコース」といった感じなのですが授業の一環でjavascriptやcgi(perl)なども勉強することになるのですがこちらも初めての自分にはけっこう難しくてかなり時間がかかりそうな雰囲気です。 やはりjavaをマスターするにはこちらもきっちり習得しておかないと厳しいのでしょうか? よろしくお願い致します。

    • ベストアンサー
    • Java

専門家に質問してみよう