Perl単語

パール

  • 3
  • 0
掲示板をみる(15)
  • twitter
  • facebook
  • はてな
  • LINE
  • ほめる(3)
  •  
  •  
  •  
  •  
  • その他

Perlとは、プログラミング言語、及びその処理系である。書きやすく読みにくいことに定評がある

概要

ラリー・ウォール(Larry Wall)により作成されたスクリプト言語Perl、及びその処理系(こちらはperlと書く)。

元々は珠の英語表記pearlであったが、別の言と名前がかぶっていることに気がついたため今の名前となっている。

正規表現を利用した文字列処理に優れており、簡単なコマンドライン制御ツールテキスト処理、CGIプログラムにしばしば用いられてきた。

書きやすいため、Javascriptが存在すらしなかった1990年代前半以前は、Web上でインタラティブなページを作るためのCGI用途では流を占めていたが、読みづらさが災いしたのかRuby, Python, Javascriptなどの後続の言にその地位を奪われてしまった。

いいところ

むつかしいところ

処理系

perl

フリーソフトウェアで、アーティスティックライセンス/GPLにより配布されている。実際に開発されている一の処理系である。

CGI経由でのPerl

CGI経由で用いる場合はFastCGImod_perl(Apache)などを使用すると、プログラムメモリにキャッシュされ、高速に処理出来るが、内容がキャッシュされることを前提に記述されたコードでないと正しく実行出来ないため、高速化を行うためにはそれを意識したプログラムの作りとしなければならない。

PSGI

webアプリケーションのためのPerl利用方法として、昔からの方法であった標準入(+環境変数)標準出とのやりとりではなく、Perlでの処理を前提とし、Perlのやりかたで入出手段(インターフェイス)を定義したのがPSGI(Perl Web Server Gateway Interface Specification)である。これにより、PSGIのやりかたで記述されたPerlのwebアプリケーションPSGIを提供するどのサーバーでも実行可となる。

PSGIが提案される以前にも、Perlでwebアプリケーション実装するための様々なやり方が存在したが、それは特定フレームワーク・ミドルウェア・webサーバ依存する(つまり移植性に乏しい)ものであった。

CPAN

PerlはCPANというパッケージ管理システムを用いることによって機を付加できる

同様の物に、RubyではRubyGems、PythonではpipPHPではPEARがある。

Hello, world

(Command Line)
>perl -e "print 'Hello, world'"    
(Console Program, Linux)
#!/usr/bin/perl
binmode STDOUT, ":utf8";
use utf8;
use strict;
use Perl6::Say;

say "Hello, world!";
(CGI,Linux)
#!/usr/bin/perl
binmode STDOUT, ":utf8";
use utf8;
use strict;

print "Content-type: text/html charset=utf8\n\n";
print "<html><head></head><body><p>Hello, world!</p></body></html>";

Perl6

Perlのメジャーバージョンは6まであるが、Perl6は開発者こそ同じラリー・ウォールであるものの、大幅な変更が加えられたため互換性はないに等しくPerl5までとは別の言と考えられている。

関連動画

左: Perlで作っているらしいが…なんぞこれ
右: グニャラくん★歌ってみたネタ…ニッチすぎるだろうJK

関連商品

関連コミュニティ

関連項目

外部リンク

この記事を編集する

掲示板

おすすめトレンド

急上昇ワード改

最終更新:2021/04/20(火) 13:00

ほめられた記事

最終更新:2021/04/20(火) 13:00

ウォッチリストに追加しました!

すでにウォッチリストに
入っています。

OK

追加に失敗しました。

OK

追加にはログインが必要です。

           

ほめた!

すでにほめています。

すでにほめています。

ほめるを取消しました。

OK

ほめるに失敗しました。

OK

ほめるの取消しに失敗しました。

OK

ほめるにはログインが必要です。

タグ編集にはログインが必要です。

タグ編集には利用規約の同意が必要です。

TOP