Perl
[Wikipedia|▼Menu]
.mw-parser-output .hatnote{margin:0.5em 0;padding:3px 2em;background-color:transparent;border-bottom:1px solid #a2a9b1;font-size:90%}

この項目では、Perlとしての最新バージョンであるバージョン5系までのPerlについて説明しています。当初Perl 6として設計が始められたプログラミング言語については「Raku」をご覧ください。

PerlPerlのロゴ
パラダイムマルチパラダイムプログラミング 
登場時期1987年 (37年前) (1987)
開発者ラリー・ウォール、Perl財団 
最新リリース5.39.7[1]/ 2024年1月20日 (3か月前) (2024-01-20)[1]
型付け動的型付け
影響を受けた言語C++C言語sedAWKBASICLISPUnixシェル 
影響を与えた言語JavaScriptPHPPythonRubyPowerShell
プラットフォームLinuxmacOSMicrosoft WindowsSolarisAIXHP-UX 
ライセンスArtistic License、GPL 1.0かそれ以降 
ウェブサイトwww.perl.org
テンプレートを表示

プログラミング言語>>他のプログラミング言語

カテゴリ / テンプレート

Perl(パール)とは、ラリー・ウォールによって開発されたプログラミング言語である。実用性と多様性を重視しており、C言語sedawkシェルスクリプトなど他のプログラミング言語の優れた機能を取り入れている。ウェブ・アプリケーション、システム管理、テキスト処理など、さまざまなプログラムの開発に広く利用されている。

言語処理系としてのperlはフリーソフトウェアである。Artistic LicenseおよびGPLのもとで配布されており、誰でもどちらかのライセンスを選択して利用することができる。UNIXWindowsmacOSLinuxのようなUNIX互換OSなど多くのプラットフォーム上で動作する。
特徴

強力な
文字列処理の仕組みを備えており、正規表現を利用できる。

連想配列(ハッシュ)をサポート。

多次元データ構造が利用可能。

自由度の高い文法。簡潔にプログラムを記述できる。

後方互換性は高い。

数多くのオペレーティングシステムで利用可能である。

インタプリタであり、コードを利用者がコンパイルする仕組みはない。

スクリプト言語の中では高い処理速度を持つ。

Unicode使用を支援する仕組みがある。

モジュールによる拡張が可能であり、有志によって開発された豊富なモジュールを利用できる(CPANを参照)。

オブジェクト指向を支援する仕組みがある。

リファレンスカウント方式によるガーベッジコレクションの仕組みがある。

例外処理を利用できる。

クロージャを利用できる。

リフレクションを利用できる。

Hello world「Hello world」を参照say 'Hello, world!' ;
モジュール

Perlプログラムには、モジュールによって機能を付加することができる。たとえば、他のプログラムやネットワークとの通信、各種ファイル形式の取り扱い、数学的な計算など、数多くのモジュールが存在する。PerlにはCPANというモジュールを体系的に管理するインターネット上のシステムがある。インターネットに接続していれば、CPANにアクセスして、モジュールをインストールすることが可能である。詳細は「CPAN」を参照
標準モジュール

Perlには標準で利用できるモジュールが数多く存在する。一部を以下に挙げる。

base
- 派生元モジュールを指定するのに用いる。

Benchmark - ベンチマーク

Carp - 呼び出し元の観点で例外を発生

Cwd - カレントディレクトリのパスを取得

Data::Dumper - 変数の内容を出力

Digest::MD5 - MD5値

Digest::SHA - SHA-1/224/256/384/512

Encode - 文字列のエンコード・デコード

Exporter - 関数のエクスポート

File::Basename - ファイルのベース名とディレクトリ名の取得

File::Copy - ファイルの移動とコピー

File::Path - 複数階層のディレクトリの作成と削除

File::Spec - ファイル名に対する移植性のある処理

File::Temp - 一時ファイルの生成

FindBin - スクリプトが存在するディレクトリのパスの取得

Getopt::Long - コマンドライン引数の処理

IO::Socket::INET - ソケット

lib - モジュールの検索パスを追加

List::Util - 配列に対する処理

Net::FTP - FTPクライアント

Scalar::Util - スカラ値のユーティリティ

Storable - データの直列化

Sys::Hostname - ホスト名の取得

Time::Piece - 日付・時刻の扱い

utf8 - utf8プラグマ

代表的なCPANモジュール
テキスト処理


Text::CSV
- CSVファイルの解析

Text::Diff - diffコマンド

Template Toolkit - テンプレートシステム

データベース


DBI - 汎用データベースインタフェース

Webアプリケーション


CGI - CGIプログラミング

Plack - PSGIのリファレンス実装

Mojolicious - Webフレームワーク

Catalyst - Webアプリケーションフレームワーク

Webアクセス


LWP::UserAgent - WWWクライアント

データ記述言語の処理


XML::Simple - XMLをPerlのデータ構造に変換

XML::LibXML - XMLのサポート

JSON - JSONのサポート

YAML - YAMLのサポート

歴史

Perlの歴史バージョン公開日内容
1.01987年12月18日

6台の VAX 機と6台の Sun 機のためのコンフィギュレーション管理制御システムのレポート作成ツールとして誕生した。

2.01988年6月05日

ヘンリー・スペンサー作の美しい正規表現ライブラリを Perl 風にアレンジし、導入した。

3.01989年10月18日

バイナリデータを処理できるようになった。

4.01991年3月21日

O'Reilly&Associates, Inc. より Programming perl が発売されたのに合わせて公開された。

5.01994年10月17日

レキシカル変数 my の導入

リファレンスおよびオブジェクト指向に対応。

useが導入され追加モジュールの取扱いが大幅に強化された。

strictプラグマの導入

5.5.01998年7月22日

正規表現の拡張、B::*モジュールによるフックのサポート、qr// 正規表現演算子の追加がなされた。

BeOS を含む幅広いオペレーティングシステムに移植された。

日本語圏で最も重要なことは、このバージョンが JPerl がサポートする最後のバージョンということである。したがって、日本語情報処理において2022年においてもなお、バージョン 5.005_03 は利用されている。

5.6.02000年5月22日

our文やウィークリファレンス、warningsプラグマの導入など、言語コアが大きく拡張された。

試験的ながら Unicode のサポートを開始した最初のバージョン。

バージョン番号の構造を変更。サブバージョン(5.6.0の6に相当)が偶数のものが安定版、奇数のものが開発版を意味する。

5.8.02002年7月18日

5.8系列の最新版は5.8.9(2008年12月14日)。

汎用文字エンコーディング操作モジュール Encode が標準ライブラリに加えられ、Unicodeおよび
Shift_JIS などの様々な文字エンコーディングに正式に対応した。

スレッドやPerlIOレイヤが導入された。

5.10.02007年12月18日

公開日は Perl 1.0 の公開からちょうど20年目にあたる。

静的変数を宣言する state 文や、switch文に相当する given 文、say などの言語拡張が導入された。

新しいキーワードの導入による互換性の問題に対処するため、新しいキーワードの導入を feature プラグマで制御できるようになった。

5.12.02010年4月13日

package のバージョン指定構文や未実装部分を表す...演算子(ヤダヤダ演算子)、後置の when 修飾子などが導入された。

日付と時刻に関するコアモジュールが2038年問題に対応した。

5.14.02011年5月14日


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:46 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef