Perl
https://upload.wikimedia.org/wikipedia/commons/2/28/Perl5Raptor.png
https://www.perl.org/
https://ja.wikipedia.org/wiki/Perl
概要
プログラミング言語の一つ
Perl といえば基本的には Perl 5 を指すことが多い
かつて Perl 5 の後継として設計されていた Perl 6 は Raku としてリブランディングされた
ロゴ
https://en.wikipedia.org/wiki/Perl#Symbols
Perlのロゴとされているものはいくつか存在する
Camel
https://upload.wikimedia.org/wikipedia/en/0/00/Perl-camel-small.png
よく見るヒトコブラクダは O'Reilly の書籍の表紙が由来
Onion
https://upload.wikimedia.org/wikipedia/en/a/a4/Onion_64x64.png
Perl Foundation は玉ねぎのロゴを用意している
Pearl Onion をもじったもの
Raptor
https://upload.wikimedia.org/wikipedia/commons/archive/2/28/20211022204533%21Perl5Raptor.png
ドロマエオサウルスを元にしたロゴ
パスの通っているモジュールを一覧にする
Perl のモジュールパスは @INC に入っているのでそれを使用すると良い
code:sh
perl -E 'say for @INC' | xargs -P1 -I@ bash -c "find @ -name '*.pm' -print"
指定のモジュールのバージョンを確認する
例としてJSONのシリアライザ/でシリアライザのJSON::XSのバージョンを確認する方法
モジュールをロードしてVERSIONを指定して結果を画面に出力している
-Mの後ろにスペースを入れてはいけない
code:sh
perl -MJSON::XS -le 'print $JSON::XS::VERSION'
手元のディレクトリをモジュールとして読み込む
移植性を維持しながらモジュールを読み込むコードを書くには FindBin と File::Spec をつかうようにすると良い
code:perl
use FindBin;
use File::Spec;
use lib File::Spec->catdir($FindBin::Bin, './lib');
cpanmでモジュールをインストールする
cpanm で cpanfile を元に依存を解決するコマンド
--notest はモジュールのビルド後テストを実行しない指定
テストを実行するとかなり時間が必要な場合がある
code:sh
cpanm --installdeps --notest .
関連情報
File::Spec - ファイル名に関して移植性のある操作を行う - perldoc.jp