[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[linux-users:72179] Re: 受信メールを自動的に読む方法


さかいです.

<200008031630.AA01352 _at_ jiro.pluto.dti.ne.jp>の記事において
catmoon _at_ pluto.dti.ne.jpさんは書きました。

>> >Perl でやるのがいいとおもいます.楽ですよ.

>> そうなんですか?!
>> Perlは全然経験がないので、どういうものなのか、普通にCやシェルで
>> 組むよりも良い!という利点がよく分かりません。

まず,文字列処理が強力なので,「メールの本文を解析して,コマンドを抽出して
うんたら」というようなことが簡単にできます.Cでやったらちょっと面倒.
また,OSとのインターフェースもとれるので,基本的にはなんでもできます.
(サーバやデーモンを作成することも可能.ネットワークもできる)
さらに,ライブラリが充実してて,必要だが面倒そうな機能は,
たいていライブラリがあります.
また,ちょっとした簡単なプログラムならば,保守性もいいと思います.
とくに文字列処理などは,簡潔に書けるので,それなりにわかりやすい
プログラムになります.

シェルよりもいいという理由は,やはり機能がずっと豊富だからでしょうか.
Cよりもいいという理由は,文字列処理がはるかに楽で,生産性がいいからです.
(保守のことまで考えると,生産性には何十倍もの開きが出てしまうのでは? と
思います)
ただ,メールをみると,けっこういろいろな処理を行う必要があるようなので,
それだけの処理を行って,しかも速度が重視されるというのなら,
Cで書くしかないかも...と思えてもきます.
そもそも Perl で共有メモリとかを扱えるのかどうかも不明.

# メールを読んで本文中に書いてあるコマンドを実行するだけ,というような,
# もっと単純なことがしたいのだと思ってました.

ただ Perl は,厳密な意味でのインタプリタ言語ではなく,
自動コンパイラ+コンパイル言語というべきか,実行時にいったんコンパイル
されてから実行されるので,とくに大量の文字列処理などは,
予想したよりもずっと速いことは多いと思います.

本を読むのでしたら,アスキーの背表紙が赤いシリーズの,
「Perl入門」(だったかな?)をお勧めします.
たんなる文法事項の解説ではなく,Perlでなにができるのかや,
現実的な使い方の例がとても豊富です.
(こんな使い方もあったのか,と思うことがよくあります.たしかデバッグに
 関しての記述もあったとおもう)
また,Perl でなんでもやろうというのではなく,Perl でやるべきことと
Perl でやってはいけないことをはっきり区別しているのが,いいです.



この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
References: