| ホーム > Perlプログラミングの楽しみ | 検索 | 更新情報 |
| Perlで作るCGI入門 | Perl言語プログラミングレッスン | Perl |
この連載では、プログラミング言語Perlの楽しさを紹介していこうと思います。 プログラミング言語の面白さや便利さは、話を聞いているだけではなかなか理解できないものです。 実際に自分でプログラムを書いたり、読んだり、動かしたりするとき、とてもよく理解できます。 けれど、コンピュータに関する情報があふれている現在では、 自分で実際に体験する前に、いろんな人のいろんな意見が耳に入ってくるものです。 Perlについても肯定的な意見や否定的な意見が交わされています。 情報収集は大事なことですが、それが災いして「食わず嫌い」になってしまう可能性もあります。 この連載を通して、私は読者のあなたが実際にPerlを体験し、 その面白さを理解してもらいたいな、と願っています。
私がPerlにはじめて接したとき「C言語に比べて面倒そうだな」「何やっているかよくわからない」と とまどいを感じたのを覚えています。 でも、実際にPerlでプログラムを組んでいるうちに、そのとまどいは消えていき、 わくわくするような面白さに変わっていきました。 今、最初の入り口のところでやめなくてよかったなあ、とつくづく思うのです。 私は、読者のあなたにもその「とまどい→わくわく」を体験していただきたいのです。
「私には○○言語があるから新しくPerlなんて覚えなくてもいいや」という方もいるかもしれませんが、 そのような読者にも「でも、まあ、ちょっと試してみませんか」とお勧めしたいです。
以上が、この連載でやりたいなと思っていることです。 どうぞよろしくお願いします。
Perlの全般的な紹介をし、同じ動作をする簡単なプログラムを複数の方法で書いています。
foreachの例を書いちゃったけれど、あれはwhileの方が適切だったかもしれませんね。
HTMLファイルのメールアドレスを書き換えるプログラムを少しずつ進化させていきます。
テキスト中の文字列検索、grepの使い方、日本語を扱う注意点、重複文字の発見、 タグジャンプなどを題材として、Perlを使ったテキスト処理について考えます。
LWP::Simpleを使ったWebページの取得と、 Net::FTPを使ったWebページの更新を題材にして、簡単なネットワーク処理を楽しみます。
CGI.pmを使って簡単なCGIを作ってみましょう。例えば、以下のようなものです。
Perlで使われる文書フォーマットPOD (Plain Old Document)について学んでみましょう。
Webアプリケーションというものについて簡単に解説した後、 簡単なテキスト処理ツールをCGIに仕立てる流れを具体例を通して学びます。 また、インターネットの図書館「青空文庫」のために筆者が作成した 「文字チェッカー」の例をお話します。
誤りと訂正C MAGAZINE 2000年8月号p.88 ftp< literal site chmod 766 chop.cgi ↓ ftp< literal site chmod 755 chop.cgi
Perlのオブジェクト指向を学んだり、 Perlで複雑なデータ構造を構築しようと思ったときに必要になる「リファレンス」について学びます。
YukiWiki(結城ウィキィ)とは、 参加者が自由にページを追加・削除・編集できる不思議なWebページ群です。 Web掲示板とちょっと似ていますが、 Web掲示板が単にメッセージを追加するだけなのに対して、 YukiWikiは、Webページ全体を自由に変更することができます。
詳しくは以下のリンクをどうぞ。
Perlのオブジェクト指向プログラミングについてお話します。 まず、リファレンスについて復習をした上で、 Perl5から導入されたオブジェクト指向の機能がどのように実現されているのかを学びます。 またそれにあわせて、Perlのデバッガの使い方や Data::Dumperモジュールにも触れます。 おまけとしてTkモジュールを使ってとっても簡単なGUIプログラムを作ります。
メタ文書の規格として現在注目を集めているXMLについて簡単に解説し、 PerlでXML文書を扱うためのモジュールXML::Parserについて解説します。
(読者から)
はじめまして. 社会人1年目の者です. CとJavaの経験があり,Perlは昨日初めて触りました. 大量なhtmlの変更処理をしたくて, ちょうど会社の定期購読しているCMAGAZINEを読んで勉強し始めました. とてもおもしろいですね. 最初動いた時は,例題を写しただけにもかかわらず感動してしまいました. と同時に,今までカリカリとテキストをいじってたりしていたのが, とてももったいなく思いました. もっと早くに興味を持っていれば・・・ でも,Cと似ている部分も多いので入りやすいです. まだ正規表現とか$_とかはよく分かりませんが. 第1回から読み始めて,現在第5回を勉強中です. これから毎月読んでいきますので, こんなことまでできるのか,ということを教えて頂けたらと思います. そしたら,もっとおもしろくなりそうです.
(読者から)
LWP::Simpleでプロキシを使うにはどうしたらいいのでしょうか。
(結城から)
perldoc LWP::Simple と perldoc LWP::UserAgent を読むと、プロキシサーバは環境変数で設定するようです。 http_proxy という環境変数の値を、 http://proxy.sn.no:8001/ のように指定してみてください。
(読者から)
Perlを学ぶのに必須の本を紹介してください。
(結城から)
「初心者」には少し難しいと思いますが、 ほんとうに実力をつけたいのであれば、 以下の本はあったほうがいいと思います。 -- 青ラクダ本:Perl5の解説 『プログラミングPerl改訂版』(オライリー)ISBN4-900900-48-6 Larry Wall他著、近藤嘉雪訳
(読者から)
Perlでインタラクティブな処理たとえば、 Unixのtelnetコマンドを実行すると当然login:とかpasswd:とか聞いてきますが、 これにマッチするとログイン名やパスワードを答えるという処理をしたいんですが、 どうしたらいいんでしょうか。
(結城から)
perldoc -q telnet や perldoc Net::Telnet をごらんください。
(読者から)
結城浩様 「Perlプログラミングの楽しみ」が連載されはじめたので楽しく読ませていただいています。 試してみてわからないことがあります。 LIST1: HTMLファイル中の文字列を変換して別ファイルを作る (file0.pl) で 「結城浩のホームページ」の文字列を変換して別ファイルを作ろうとすると 何もできません。 「ー」の文字が入っているとエラーになるのでしょうか? 最近Perlに関心を持った初心者なので、単純なことかもしれませんが 教えていただけたらと思いメールしました。
(結城から)
結城浩です。
ご愛読ありがとうございます。
次回の[MP]でも触れますが、
シフトJISコードでは「ー」の2バイト目は [ になり、
正規表現のメタ文字と誤解してしまうのです。
/\Qページ\E/
のように\Q...\Eでくくるか、
日本語対応したJPerlを使うのがよいでしょう。
Enjoy Perl!