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を使わずに直接パスを埋め込んだ方が早い。