Perl入門ゼミ

新着情報 2018年 Twitter Perl入学式 イベント情報

2009年11月16日

Perlモジュール徹底解説

  1. Perl
  2. here

Perlのモジュールについての解説です。Perlでいうモジュールとは良く使う機能や便利な機能をプログラムで利用するための仕組みです。

Perlの基本文法を覚えたらいろいろなモジュールを使ってみましょう。モジュールを組み合わせると複雑な問題を簡単に解決したり、業務の自動化に役立ったりします。

またCPANと呼ばれるモジュールの配布サイトでは役立つたくさんのモジュールが有志によって登録されており無料で利用することができます。cpanコマンドの使い方についてはCPANモジュールの解説を参考にしてください。

モジュールの作成方法

「パッケージ」などのモジュール作成のための基礎知識を知りたい場合は「モジュールの基礎」を参考にしてください。実際にモジュールを自分で作成してみたい方はModule::Starterモジュールを使って、モジュールのひな型を作成するのが早道です。

モジュールの存在確認

特定のモジュールが存在しているかどうかを知りたい場合は、perldocコマンドでドキュメントがあるかを調べてみるのが一番早い方法です。

# perldocコマンド
perldoc Mojolicious

モジュールがインストールされている場所を知りたい場合は「-l」オプションを使用してください。パスが表示されます。

perldoc -l Mojolicious

モジュールのバージョンを知りたい場合は「-m」オプションを使って、モジュールファイルを実際に見てみるのが一番よいです。

perldoc -m Mojolicious

バージョンが指定されているパッケージ変数を探してください。

our $VERSION  = '7.25';

標準モジュール

「標準モジュール」はPerlをインストールしたときに最初から利用できるモジュールのことです。「標準モジュール」だけでも結構たくさんのことがでてしまいます。

モジュール名説明
Getopt::Longコマンドライン引数のオプションを処理する
Archive::Tartarファイルの展開と作成(v5.10以降)
Cwdカレントディレクトリのパスを取得する
File::Basenameファイルのベース名とディレクトリ名の取得
File::Copyファイルの移動とコピー
File::Path複数階層のディレクトリの作成と削除
File::Specファイル名に対する移植性のある処理
File::Temp一時ファイルの作成
File::Findファイルの検索
FindBinスクリプトが存在するディレクトリのパスの取得
Encode日本語などのマルチバイト文字列を適切に処理する
utf8ソースコード内の文字列を内部文字列に変換
Carpモジュールの呼び出し元の観点で例外を発生させる
libモジュールの検索パスの追加
Time::Piece日付・時刻を扱うための標準モジュール(v5.10からコアモジュール)
Time::Locallocaltime,gmtimeの逆返還
baseクラスの継承
Data::Dumper変数の内容を出力する
Benchmarkベンチマーク(性能比較)を行う
JSONJSONデータの解析
MIME::Base64Base64形式へのエンコード
MIME::QuotedPrintquoted-printable形式へのエンコード
Digest::MD5MD5値を求める
Digest::SHA各種SHA値を求める (v5.10以降)
Storableデータのシリアライズ化
Scalar::Utilスカラ値に関するユーティリティ
List::Util配列に対するさまざまな操作
Hash::Utiハッシュのキーの制限
Sys::Hostnameホスト名の取得
Net::FTPFTPクライアント
Net::Pingリモートホストの生存確認
Exporter関数のエクスポート
CPANCPANからモジュールをインストールする
Pod::UsagePODドキュメントの出力
Errnoシステムのエラー番号をあらわす定数
POSIXPOSIXで定義された関数
Math::BigInt
Math::BigFloat
大きな数の計算

CPANモジュール解説

Perlでは無料のモジュールをCPANから簡単にインストールして使用することができます。

Web開発

Mojolicious人気のWebフレームワーク
Mojolicious::Plugin::AutoRouteめんどうなルートを自動的に生成

メール送信

MIME::Liteメールを簡単に送信

開発環境

perlbrewユーザー環境にPerlをインストールする
cpanmCPANインストール

オブジェクト指向

Class::Accessor::Fastアクセサの作成
Object::Simpleデフォルト値つきのアクセサの作成(日本語訳)

ユーティリティ

DDPデータをわかりやすく出力する

データベース

DBIx::Customデータベース簡単操作
MySQL::DiffMySQLの差分を表示

日付

DateTime日付の汎用的な処理

統計解析

PDL統計解析

画像編集

Imager画像編集

CSV

Text::CSV::Encoded日本語を含んだCSVファイルを取り扱う

テキスト差分

Text::Diffテキストの差分確認

XML

XML::SimpleシンプルなXMLパーサ

HTMLバリデーション

Validator::CustomHTMLフォームの検証

ページング

Data::Pageページング処理の支援
Data::Page::Navigationページのナビゲーションの作成

モジュール作成

Module::Starterモジュールの雛形を作成する

性能解析

Devel::NYTProf使いやすいプロファイラ

ソースコード整形

perltidyソースコードの整形

ping

Net::Ping::Externalpingコマンドの実行

試験

IO::ScalarArray標準入力の自動試験
IO::Capture標準出力、標準エラー出力の自動試験

FFI

FFI::Rawダイナミックライブラリ内の関数を呼び出す

三角関数

Math::Trigさまざまな三角関数

Perlモジュール紹介

ここでは詳しく解説できなかったモジュールについても以下で紹介していますので、ご覧ください。

非推奨のモジュール

非推奨のモジュール。

モジュール名説明
cgi-lib.plとても古いです。変わりにCGI.pmを使いましょう
Devel::DProfシンプルなプロファイラ(性能解析ツール)ですがバグが多いので、コアモジュールから取り除かれる予定
encoding公式に非推奨。ソースコードはUTF-8で保存して、utf8プラグマを使いましょう
jcode.plとても古いです。文字列を扱うにはEncodeモジュールを使用します
Jcode公式に非推奨。文字列を扱うにはEncodeモジュールを使用します
bytes公式に非推奨。実際にEncodeモジュールのencode関数でエンコードしてから長さを調べるようにします
vars古い。ourでパッケージ変数を宣言するのと同じ効果を持ちます。今ならourを使ってパッケージ変数を宣言しましょう
Class::ISA公式に非推奨。コアモジュールから取り除かれます

  1. Perl
  2. here

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証