Perlのよいところ

Perl初心者のためのPerlノートです!

HTML/ CSS/ CGI-Perl/ JavaScript/ JavaApplet/ AccessUp/ Internet/ EnglishLearn/ ちゃいちゃん天使/ 天使メッセージ/ 飯田ワールド/ 結城ワールド/ プロフィール/ WEB相談室/ WEBアンテナ/ WEBリーダー/ 燈明日記/ yahoo

◆ はじめに

本ページは、私がPerlを習得した時(いや習得中)のノートです。

ごく普通の言語(COBOL,C,Java,VB等)を知っている人が、Perlをやり始めるといろいろと悩むことがあります。

それは、

です。

本ページは、そのようなハードルを一つ一つクリアにしていけたらと思います。

そして、本ページが何かのお役に立てれば幸いです。では、ごゆっくりご覧ください。

尚、ご感想、ご意見、誤字、脱字、間違い等がありましたら遠慮なくPerlノート掲示板へご指摘ください。

◆ サイト最新情報

◆ コンテンツ

2010-04-10 Perlのよいところ

本格的にPerlをやり始めた2007/4から3年間が経ちました。

その間に感じたPerlのよいところを書きたいと思います。


その前に、私のPerl歴をちょっと…。

1996年頃からC言語によりCGIのプログラムを作る仕事をしてきました。

1998年に趣味でインターネットをはじめた時に、プロバイダでC言語がサポートされていなく、サポートのあるPerlを勉強しました。

この頃は、仕事ではPerlを使っていなかったので、リファレンス正規表現も良く知りませんでした。

単にPerlでBBSの掲示板CGIとページカウンタCGIを作るレベルでした。


その1998年から約10年経った2007/4に、縁あって、Perlでの仕事をやり始め、本格的にPerlの勉強をはじめました。

その軌跡がPerlノートになりました。


で、その間に私が感じたPerlのよいところは、以下の9点です。

  1. 正規表現が言語と一体化されているところ
  2. リファレンスにより多次元配列が自由自在なところ
  3. 処理するデータが文字列やバイナリ値で区別がないところ
  4. コンパイルする必要がないところ
  5. 文字列の中で変数展開ができるところ
  6. 記述が省略できるところ
  7. CPANがあるところ
  8. 色々な方法でコーディングができるところ
  9. マジシャンのようなところ

1. 正規表現が言語と一体化されているところ

正規表現を使うのに、いちいち正規表現オブジェクトや関数等の必要がなく、正規表現が言語と一体化されていて、テキストの検索処理や置換処理が非常にラクなところ。


2. リファレンスにより多次元配列が自由自在なところ

前もってエリアの確保とかの必要がなく、インデックスを付けてアクセスするだけで、多次元配列が自由自在にできるところ。

特にハッシュと配列の組み合わせは、他言語でいう構造体配列を簡単に表現ができて、すばらしい!


3. 処理するデータが文字列やバイナリ値で区別がないところ

他言語では、文字列とバイナリ値で区別して処理をしないとなりませんが、Perlでは、その区別がありません。

区別がないので、処理が非常にシンプルに書けるのです。


4. コンパイルする必要がないところ

ご存知のようにPerlは、インタープリタなのでコンパイルする必要がありません。

なので、ソースを修正するだけで簡単に動くわけで、これになれるとコンパイルが必要な言語には戻りたくなくなります。


5. 文字列の中で変数展開ができるところ

他言語では普通、文字列に変数を含めたい時は、文字列連結で行います。

Perlでは、文字列の中で変数展開が普通にできますね。

実は、文字列の中で関数コールもできるのです。

use strict;
print "aaaaaaa @{[&test()]} bbbbbbb";
sub test {
    return "ABCDEF";
}

6. 記述が省略できるところ

ループ系での当たり前の代入処理等は、デフォルトで『$_』という特殊変数を用いるようになっていて、代入文等を記述しなくてもよく、尚且つ『$_』そのものも記述しないでいいところ(実は、わるいところでもあるかも)

while ($_ = <DATA>) {
    if ($_ =~ /^h.*e$/) {
        print $_;   # hogeを表示する
    }
}

# 上と同じ
while (<DATA>) {
    if (/^h.*e$/) {
        print;   # hogeを表示する
    }
}
__END__
hoge
foo

7. CPANがあるところ

実は、私は、CPANのモジュールをあまり使ったことがないので、ここにあげる資格はないのですが、やはり、PerlといえばCPANなのですかね。とりあえず、あげときます。


8. 色々な方法でコーディングができるところ

普通の言語では、大体同じようなコーディングになりますが、Perlでは十人十色です。

結城 浩先生のPerlクイズなど、まさに十人十色の回答がありましたね。


9. マジシャンのようなところ

他の言語だとえらく大変な処理を、Perlだとあっという間に出来てしまい。

マジシャンになった気分になれるとか!

とにかく、Perlのラクさを体験したら、もう2度と他の言語には戻れませんね!


えーと、ここまで読んで頂いたのも何かのご縁です。

皆さまが思った、Perlのよいところをコメントで教えて頂ければ幸いです。

◆ おすすめ Perl本

■ 結城浩のPerlクイズ

この本には、ちゃいちゃんパパの小話しが載っています(謎)。

ある程度、Perlを理解している人には、たまらない内容になっています。さすが結城先生だな!

結城浩のPerlクイズ

■ 新版Perl言語プログラミングレッスン入門編

実は、私はまだ読んでいませんが、結城先生の本なので良くないはずがありません。

新版Perl言語プログラミングレッスン入門編

■ CGI&Perlポケットリファレンス (Pocket reference)

この本は、非常に役に立ちます。ちょっと調べるのに最適です。サンプルも説明も的を射ています。

CGI&Perlポケットリファレンス (Pocket reference)

■ Perlベストプラクティス

一読の価値有りだと思います。

Perlベストプラクティス

■ プログラミングPerl〈VOLUME1〉

ご存知、Perl本の聖書、ラクダ本(上)です。

■ プログラミングPerl〈VOLUME2〉

ご存知、Perl本の聖書、ラクダ本(下)です。

◆ おわりに

最後に、本ページが、何かのお役に立てれば幸いです。

尚、ご感想、ご意見、誤字、脱字、間違い等がありましたら遠慮なくPerlノート掲示板へご指摘ください。

HTML/ CSS/ CGI-Perl/ JavaScript/ JavaApplet/ AccessUp/ Internet/ EnglishLearn/ ちゃいちゃん天使/ 天使メッセージ/ 飯田ワールド/ 結城ワールド/ プロフィール/ WEB相談室/ WEBアンテナ/ WEBリーダー/ 燈明日記/ yahoo

人のよいところをどんどん見つけよう