今注目のニュース
台風19号42年ぶりに命名され、早速ネットに候補名多数あがる。
「実際に避難してわかったこと」を経験者がイラスト化 “避難所が定員オーバーするかも”などの教訓が参考になる
米倉涼子、回転寿司で見かけたメニューに驚愕 「初体験なの!?」

Perl単語

パール

掲示板をみる(13)
  • twitter
  • facebook
  • はてな
  • LINE

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

関連商品

関連コミュニティ

関連項目

外部リンク

掲示板

  • 11ななしのよっしん

    2018/07/31(火) 12:44:50 ID: H3sdJ9+vym

    CGIで注された言ではあるが, あくまで「当時の言の中ではCGIに向いてた」だけで
    本領はgrep/sed/awk/shなどを組み合わせてやるようなテキスト処理の代替なんだよなぁ

    * 組み合わせるツール群は環境差がしいものが多い=>Perlはそれらに環境差が少ない
    * 組み合わせる関係上どうしても遅くなる=>Perlなら1つのプロセスで済ませられるので高速

    辺りがPerlの本来の強みだと思う
    他にもPerlなら1つの文法で済むとかもあるけど, Perl自体の文法がカオスなのでそれはそんなに利点でもないかな

  • 12ななしのよっしん

    2019/01/01(火) 08:03:22 ID: 11GFVzhfU4

    awk先生はまだ現役なんだよなあ

  • 13ななしのよっしん

    2019/02/01(金) 22:40:59 ID: X4mDxbaCtH

    >>11
    底した後方互換性のお陰でどの入門、解説サイトを見ても同じ説明になってくれているのがありがたい。

    もし、今更Perlなんて…と思ってる連中でも、言の勉強はしなくても、システムは動かせるようにしとくとだいぶ仕事率が違うし、ソースファイル持っておいてバッチ作っておくだけでも幸せになれる。

    フォルダやファイル検索ソートなんでもしてくれる。

急上昇ワード

最終更新:2019/10/17(木) 04:00

ほめられた記事

最終更新:2019/10/17(木) 04:00

☆オススメの関連コンテンツ

動画

この記事名で動画を検索

静画(イラスト)

この記事名で静画を検索

ニュース

この記事名でニュースを検索

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

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

OK

追加に失敗しました。

OK

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

           

ほめた!

すでにほめています。

すでにほめています。

ほめるを取消しました。

OK

ほめるに失敗しました。

OK

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

OK

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

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

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

TOP