「Perl クックブック VOLUME 1」のレシピ 12.2 に書いてあるのですが、次のような具合にします。
BEGIN {
$zlib = "Compress::Zlib" ;
unless (eval "use $zlib ; 1") {
#warn "WARNING: couldn't use $zlib" ; # 警告出すか否かは文脈次第
undef $zlib ; # あとでこの変数を確認することで、代替処理やエラー処理
}
}
具体的な利用局面について補足しますと、gzip ファイルデータを直接扱いたかったのですが、わたしの主戦場である RHEL/CentOS では、Compress::Zlib が別パッケージ (perl-Compress-Zlib) になっており、必ずしもインストールされていないため、その場合、仕方ないので gzip コマンドを呼ぶという代行処理を行う必要がありました。Python の”電池が付属しています”思想のように、perl でもこのあたりまでデフォルトで入っていてくれると手間が減るのにと思ってしまいます。Python の場合、かなり昔から gzip ライブラリが標準で入っているようです。
■関連記事
Perl のモジュール(.pm)のパスを調べたい

0 件のコメント:
コメントを投稿