私は perlmonks でこの質問をしましたが、進歩が限られているので、ここで質問します。perlbrew を使用して、スレッド化された perl 5.16.0 を Mac OS X 10.7.5 にインストールしました。今、モジュールを新しいインストールに転送しようとすると、理解できないメッセージで失敗します。以下は、私が使用して出力したコマンドです。
$ perlbrew install --as perl-5.16.0t -Dusethreads perl-5.16.0
次に、perlmonks の投稿に従ってください。
$ perldoc -t perllocal | perl -lane'/"Module"/ && print $F[-1]' | sort -u >/tmp/pms
$ perlbrew switch perl-5.16.0t
$ cpanm -v </tmp/pms &>>/tmp/inst.log & tail -f /tmp/inst.log
次に、これらのコマンドを簡単なチェックとして試してみたところ、理解できない出力が得られました。
$ perl -e 1 -MFile::Find
dyld: lazy symbol binding failed: Symbol not found: _Perl_Istack_sp_ptr
Referenced from: /Users/abualiga/perl5/lib/perl5/darwin-thread-multi-2level/auto/Cwd/Cwd.bundle
Expected in: flat namespace
dyld: Symbol not found: _Perl_Istack_sp_ptr
Referenced from: /Users/abualiga/perl5/lib/perl5/darwin-thread-multi-2level/auto/Cwd/Cwd.bundle
Expected in: flat namespace
Trace/BPT trap: 5
$ perldoc File::Find
dyld: lazy symbol binding failed: Symbol not found: _Perl_Istack_sp_ptr
Referenced from: /Users/abualiga/perl5/lib/perl5/darwin-thread-multi-2level/auto/Cwd/Cwd.bundle
Expected in: flat namespace
dyld: Symbol not found: _Perl_Istack_sp_ptr
Referenced from: /Users/abualiga/perl5/lib/perl5/darwin-thread-multi-2level/auto/Cwd/Cwd.bundle
Expected in: flat namespace
Trace/BPT trap: 5
perl-5.16.0t をアンインストールし、フォルダー perlbrew と .bash_profile の行を削除したので、システム perl 5.12.3 に戻りました。ただし、これを行う方法を知りたいのですが、ホームディレクトリに複数の perl を配置し、ActiveState を使用する必要はありません。