表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
19/19

プログラミング言語探訪 Perl

 もともとは1987年にUNIXでテキスト処理をするために開発されたスクリプト言語で、インターネットが爆発的に普及した1990年代後半頃からCGIスクリプト……主に掲示板作成で大流行?した言語です。まあ、作者も同じくらいのタイミングで掲示板作ってみるかとやってみたクチです。実際作ってしばらく運用していたのですが、諸般の事情によりプロバイダを引っ越すことになり、使える環境がなくなったので、それっきり……

 というのは建前で、実際には大学に通っていた頃から少し使ってました。大学ではUNIXワークステーションを使っていたので、Perlが使えるとちょっと便利だったので。ただ、本格的にやり出したのが卒業後、掲示板作ってみようかな、というのは確かです。ちなみにその掲示板、半年程度でしたがちゃんと運用してて、ある程度の書き込みはありました。

 まあ、三ヶ月ほどした頃、荒らしというかスパム的な書き込みが殺到したんですが。

 さて、言語としてはテキスト処理に強いという特徴がよく出ていて、ファイルの読み書きの他、正規表現――一部拡張されているとか――が使えるので、何かと便利だったりする言語です。

 よく使われる例として、ログの処理。大量にはかれたログを読み込ませて「Error」で始まる行だけ出力するなんてのは簡単に書けます。こんな感じ。


 my ($infile, $outfile) = @ARGV;

 open my $in, "<", $infile or die "Cannot open $infile: $!";

 open my $out, ">", $outfile or die "Cannot open $outfile: $!";

 while (my $line = <$in>)

{

if ($line =~ /^Error/)

{

print $out $line;

}

 }


 一部抜粋というか、ファイルを閉じていなかったり、引数が足りなかったときの処理を省略してますけど、テキストファイルを処理すること前提のプログラム言語っぽい、すっきりした感じになりますね。

 ちなみに作者も就職してから一部のシステムでログを処理するプログラムを書きました。エラーログじゃなくて課金用の操作ログでしたが。

 さて、スクリプト言語ということで、コンパイルという概念はないのですが、実行速度としてはかなり速いのでコンパイルする必要性がないのだとか。作者はそこまで処理速度を求められたことがないのでわかりません。実際、作者が作ったプログラムのログはそれほど大きなものでは無かったので。

 さて、そんなPerlですが、現状では大きな機能追加などがされることなく、セキュリティ面の補強がメインとなっているとか。開発コミュニティは活発ですが、スクリプト言語系の主流はPerl以外に移ってしまっているので、新規に何か、というのは少なくなっているそうです。作者もわざわざ今からPerlで何かを作る、と言うつもりはありませんし。

 そのうちCOBOLのように廃れていくのかも知れない。ちょっと寂しさを感じる、そんな言語です。

評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

↑ページトップへ