Perlとは、プログラミング言語、及びその処理系である。書きやすく読みにくいことに定評がある。
ラリー・ウォール(Larry Wall)により作成されたスクリプト言語Perl、及びその処理系(こちらはperlと書く)。
元々は真珠の英語表記pearlであったが、別の言語と名前がかぶっていることに気がついたため今の名前となっている。
正規表現を利用した文字列処理に優れており、簡単なコマンドライン制御ツール、テキスト処理、CGIプログラムにしばしば用いられてきた。
書きやすいため、Javascriptが存在すらしなかった1990年代前半以前は、Web上でインタラクティブなページを作るためのCGI用途では主流を占めていたが、読みづらさが災いしたのかRuby, Python, Javascriptなどの後続の言語にその地位を奪われてしまった。
昨今ではCGIといったオープンソース系のウェブプログラムよりは、サーバサイド、テキスト処理、はたまたXML処理などで利用されることが多い。
フリーソフトウェアで、アーティスティックライセンス/GPLにより配布されている。実際に開発されている唯一の処理系である。
CGI経由で用いる場合はFastCGIやmod_perl(Apache)などを使用すると、プログラムがメモリにキャッシュされ、高速に処理出来るが、内容がキャッシュされることを前提に記述されたコードでないと正しく実行出来ないため、高速化を行うためにはそれを意識したプログラムの作りとしなければならない。
webアプリケーションのためのPerl利用方法として、昔からの方法であった標準入力(+環境変数)標準出力とのやりとりではなく、Perlでの処理を前提とし、Perlのやりかたで入出力手段(インターフェイス)を定義したのがPSGI(Perl Web Server Gateway Interface Specification)である。これにより、PSGIのやりかたで記述されたPerlのwebアプリケーションはPSGIを提供するどのサーバーでも実行可能となる。
PSGIが提案される以前にも、Perlでwebアプリケーションを実装するための様々なやり方が存在したが、それは特定のフレームワーク・ミドルウェア・webサーバに依存する(つまり移植性に乏しい)ものであった。
PerlはCPANというパッケージ管理システムを用いることによって機能を付加できる
同様の物に、RubyではRubyGems、Pythonではpip、PHPではPEARがある。
>perl -e "print 'Hello, world'"
#!/usr/bin/perl
binmode STDOUT, ":utf8";
use utf8;
use strict;
use feature qw(say);
say "Hello, world!";
#!/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>";
かつて Perl 6と呼ばれていた言語は開発者こそ同じラリー・ウォールであるものの、大幅な変更が加えられたため互換性は無きに等しかった。Perl5とは別の言語として扱われるようになったPerl 6は、2019年10月に“Raku”という名称に変更され、Perlの姉妹言語として存続していくこととなった[1]。なお、Rakuは言語仕様名であり、その実装・処理系は“rakudo”という。かつてはPugsという別の実装も開発されていた。
2020年には、Perl 5.32を元にした“Perl 7”が発表されたが、後にこの計画は一旦取り下げになっている[2]。
左: Perlで作っているらしいが…なんぞこれ
右: グニャラくん★の歌ってみたネタ…ニッチすぎるだろうJK
掲示板
14 ななしのよっしん
2019/12/18(水) 21:42:22 ID: w53DTXg0Qt
「Perl 6」からRaku言語への改名が本決まり、ってことでいいのかな
> https://
15 ななしのよっしん
2020/06/29(月) 00:04:59 ID: w53DTXg0Qt
Perl5系列のメジャーバージョンアップがPerl7として発表されてた。その発想はなかった...
https://
https://
16 ななしのよっしん
2021/10/17(日) 06:44:34 ID: w53DTXg0Qt
Perl7の発表は取り下げられてた
> https://
急上昇ワード改
最終更新:2025/02/04(火) 15:00
最終更新:2025/02/04(火) 15:00
ウォッチリストに追加しました!
すでにウォッチリストに
入っています。
追加に失敗しました。
ほめた!
ほめるを取消しました。
ほめるに失敗しました。
ほめるの取消しに失敗しました。