====== モジュール ======
^名前^説明^備考^
|[[development:language:perl:module:acme.eyedrops|]]|難読化|ジョーク|
|[[development:language:perl:module:file.next]]|File検索用||
|File::Basename|pathからfile名取得など||
|[[development:language:perl:module:getopt.long|]]|高機能なコマンドラインオプション解析||
|[[development:language:perl:module:net.mysql|]]|Perlだけで書かれたMySQLネットワークプロトコルへのインターフェイス||
|[[development:language:perl:module:pod.usage|]]|埋め込まれた pod ドキュメントから usage メッセージを表示||
|[[development:language:perl:module:net.openssh|]]|Perl で ssh 接続||
|[[development:language:perl:module:string.random|]]|ランダムな文字列を生成||
|Time-Moment|さまざまなコーディングスタイルを意識した日付と時間を得るモジュール||
|Devel-Comments|コメントをデバッグ用メッセージとして出力||
|autodie|例外処理||
|File::Copy::Recursive|ファイルやディレクトリを再帰的にコピー||
|Email::Valid|電子メールアドレスの正当性のチェック||
||||
||||
===== インストール済みモジュールの確認 =====
==== モジュール名がわかっている場合 ====
ワンライナーで「use module」とすれば、インストールされていなければエラーが出ます。
$ perl -e "use notinstall"
Can't locate notinstall.pm in @INC (@INC contains: ..........
==== *BSD/Linux ====
$ find `perl -e 'print "@INC"'` -name '*.pm' -print
/usr/local/lib/perl5/5.x.xx/BSDPAN/BSDPAN.pm
/usr/local/lib/perl5/5.x.xx/BSDPAN/BSDPAN/Override.pm
/usr/local/lib/perl5/5.x.xx/BSDPAN/Config.pm
/usr/local/lib/perl5/5.x.xx/BSDPAN/ExtUtils/MM_Unix.pm
:
:
==== Windows ====
以下のコードでいけます。
for my $incdir ( @INC ) {
opendir my $DIR, $incdir or die $!;
for ( grep { /\.pm$/ } sort readdir $DIR ) {
print "$incdir/$_\n";
}
}
===== 参考 =====
[[http://www.geocities.jp/ky_webid/perl5/037.html|Perlモジュール]]