あたらしものずきっ!

試してみたものとか、遊んでみたものを色々記してみます。

archnameのこと

私製アプリを作ってる時に、cpanmを使ってモジュールを非root権限にて入れておく作業をたまに行うのだけれど、lib以下に収まる際の

などのサブディレクトリについて余り考えたことがなかったので、確認してみた。

これはオペレーションシステムのアーキテクチャ依存のモジュールが収まる場所であり、OSXのシステムに依存するものであれば、darwin-2level以下にモジュールがインストールされるようになっている。

現在使用しているアーキテクチャ名が何かを確認したい場合は、

#!/usr/local/bin/perl
use strict;
use warnings;
use Config; 

print "$Config{archname}\n"; 

とかで。

アーキテクチャ依存モジュールの呼び出しを抽象化したい場合は、

BEGIN { unshift @INC, "/path/to/perl5/$Config{archname}"; }

ということになるけれど、各アーキテクチャ別にインストール作業しない場合は余り意味がないので、Configを使わずに直接パスを埋め込んだ方が早い。