Perl
Perl(パール)とは、ラリー・ウォールによって
![]() Perlのロゴ | |
パラダイム |
マルチパラダイムプログラミング ![]() |
---|---|
1987 | |
ラリー・ウォール、Perl![]() | |
5.39.7[1]/ 2024 | |
| |
C++、C![]() | |
JavaScript、PHP、Python、Ruby、PowerShell | |
プラットフォーム |
Linux、macOS、Microsoft Windows、Solaris、AIX、HP-UX ![]() |
ライセンス |
Artistic License、GPL 1.0かそれ![]() |
ウェブサイト |
www |
特徴
強力 な文字 列 処理 の仕組 みを備 えており、正規 表現 を利用 できる。連想 配列 (ハッシュ)をサポート。多次元 データ構造 が利用 可能 。自由 度 の高 い文法 。簡潔 にプログラムを記述 できる。後方 互換 性 は高 い。数 多 くのオペレーティングシステムで利用 可能 である。- インタプリタであり、コードを
利用 者 がコンパイルする仕組 みはない。 - スクリプト
言語 の中 では高 い処理 速度 を持 つ。 - Unicode
使用 を支援 する仕組 みがある。 - モジュールによる
拡張 が可能 であり、有志 によって開発 された豊富 なモジュールを利用 できる(CPANを参照 )。 - オブジェクト
指向 を支援 する仕組 みがある。 - リファレンスカウント
方式 によるガーベッジコレクションの仕組 みがある。 例外 処理 を利用 できる。- クロージャを
利用 できる。 - リフレクションを
利用 できる。
Hello world
say 'Hello, world!' ;
モジュール
Perlプログラムには、モジュールによって
標準 モジュール
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 - テンプレートシステム
- Text::CSV - CSVファイルの
- データベース
- Webアプリケーション
-
- CGI - CGIプログラミング
- Plack - PSGIのリファレンス
実装 - Mojolicious - Webフレームワーク
- Catalyst - Webアプリケーションフレームワーク
- Webアクセス
-
- LWP::UserAgent - WWWクライアント
- データ
記述 言語 の処理 -
- XML::Simple - XMLをPerlのデータ
構造 に変換 - XML::LibXML - XMLのサポート
- JSON - JSONのサポート
- YAML - YAMLのサポート
- XML::Simple - XMLをPerlのデータ
歴史
バージョン | ||
---|---|---|
1.0 | 1987 |
|
2.0 | 1988 |
|
3.0 | 1989 |
|
4.0 | 1991 |
|
5.0 | 1994 |
|
5.5.0 | 1998 |
|
5.6.0 | 2000 |
|
5.8.0 | 2002 |
|
5.10.0 | 2007 |
|
5.12.0 | 2010 |
|
5.14.0 | 2011 |
|
5.16.0 | 2012 |
|
5.18.0 | 2013 |
|
5.20.0 | 2014 |
|
5.22.0 | 2015 |
|
5.24.0 | 2016 |
|
5.26.0 | 2017 |
|
5.28.0 | 2018 |
|
5.30.0 | 2019 |
|
5.32.0 | 2020 |
|
5.34.0 | 2021 |
|
5.36.0 | 2022 |
|
5.38.0 | 2023 |
|
エピソード
ラリー・ウォールは
Perlの
処理 系
Perlという
このようにPerl 5
Pythonのように
PAR (Perl Archive Toolkit) というPerlスクリプトを
Perlの
Perlが利用 されているアプリケーション
Perlが
Webアプリケーション
Webサービス
管理 ツール
脚注
- ^ a b “Perl 5.39.7 released”. www.nntp.perl.org. 2024
年 1月 20日 閲覧 。 - ^ a b “Scripting on the Lido Deck | WIRED”. web.archive.org (2016
年 3月 7日 ). 2022年 7月 29日 閲覧 。 - ^ プログラミング Perl VOLUME 1 ISBN 4-87311-096-3
参考 文献
- ラリー・ウォール、ジョン・オーワント、トム・クリスチャンセン
著 、近藤 嘉 雪 訳 『プログラミング Perl』VOLUME 1 (ISBN 4-87311-096-3), 2 (ISBN 4-87311-097-1), オライリー・ジャパン、2002年
関連 項目
外部 リンク
公式 ウェブサイト- Perl programming documentation - Perlの
公式 ドキュメント - perldoc.jp - Perlの
公式 ドキュメントの日本語 訳 - CPAN - Perlのモジュールの
配布 を行 うサイト - Perl.com - オライリーによるPerlのウェブサイト
- ActivePerl - ActiveState
社 のPerlディストリビューション。Win32版 はWindows環境 で最 も利用 される。 - Chocolate Perl - Perlのディストリビューションのひとつ
- Strawberry Perl - Perlのディストリビューションのひとつ
- PSGI/Plack - WSGIのPerlによる
実装 - Japan Perl Association - YAPC::Asiaを
主催 する一般 社団 法人