• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:「置くだけ」で使えるperlモジュールに関する情報は?)

「置くだけ」で使えるperlモジュールに関する情報は?

このQ&Aのポイント
  • 質問文章からセンセーショナルなタイトルを30文字前後で生成すると、「Perlモジュールのインストール方法」とは違ったアプローチで、「置くだけ」でも使用できるperlモジュールに関する情報について詳しく知りたいです。
  • perlモジュールをインストールする際には、GCC(コンパイラ)が使えない場合やシェル自体が使えない場合があるかもしれません。そんな場合でも手動での展開・配置を試してみることができます。
  • モジュールの中身やmakeファイルなどを調べたりすることもありますが、実際にはモジュールの中身を知る必要はありません。コンパイルしなくても動作するperlモジュールの情報や一覧が公開されている場所を知りたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • Ethersky
  • ベストアンサー率71% (168/235)
回答No.2

モジュール名にPPまたはPurePerlというのがはいっていれば、それは確実にコンパイル不要なモジュールです。 PurePerlとは、「Perlだけで書かれたモジュール」のことです。(PPはPurePerlの略です) 例えば・・・「Digest::SHA::PurePerl」、「XML::Comma::Parsing::PurePerl」、「Crypt::Blowfish_PP」、「Crypt::DES_PP」etc... これらは、makeしたときに行われるのはファイルのコピー処理だけです。 PPやPurePerlと書かれているのは、通常XS版(コンパイルが必要なもの)とPurePerl版の両方が存在するモジュールの場合がほとんどです。どちらか片方しかない場合は区別する必要がないのでPurePerlなモジュールであってもPPやPurePerlと書かれていない場合もあります。 逆に、コンパイルが必要なモジュールはXSという拡張子のファイルが入っています。 また、コンパイルが必要な物であっても、他のコンピュータでコンパイルし、それを実際に使うサーバーマシンにコピーして使うという方法があります。 この場合の注意点は、コンパイルするマシンをサーバーマシンの環境と同じでないといけない点です。 (例:サーバーがWindowsならコンパイルするマシンもWindows。サーバーがPerl5.8系列ならコンパイルするマシンもPerl5.8系列。) 余談ですが、前述のように同じモジュールでXS版とPurePerl版の両方が存在した場合、負荷と速度から考えるとできる限りXS版を使うべきです。

taseki
質問者

お礼

ご回答いただきありがとうございます。 まさしく、そのような情報が欲しかったのです! 名前にPPですか、まったく知りませんでした。確かにPurePerlと言われれば予測がつきそうですね。 別のマシンでコンパイルしておいてコピー、は最終手段として何度か試みたことがあります。それでも中には、他プログラムとの依存関係などあれば、動かないことがあり、結局いろいろ調べることになり…。まあその手段をとる時点で「置くだけ」ではないので仕方がないのですが。 大変有用なご回答、ありがとうございます。

その他の回答 (1)

  • estea
  • ベストアンサー率44% (39/87)
回答No.1

釈然としたくなくて手軽にモジュールが使いたいなら制限のないところへ移転すべきでしょう。 制限のある場合で、他言語に依存するものならコンパイルだけでなく特定のディレクトリへのインストールを期待される場合もあるのであきらめるのがよいかと。 コンパイルだけしたいとか,インストール作業は必要ないものの場合は根性入れたらコンパイルできることはあります。(シェルが使えなくとも)

taseki
質問者

お礼

ご回答いただきありがとうございます。 > 制限のないところへ移転すべきでしょう。 それはまさに理想なんですが、仕事で行っていると様々な事情が絡むのです…。そしてそのモジュールを使いたい要求が発生することもあります。 おっしゃるとおり、たとえばCPNモジュールやシェルが使えなくてもmakeなど行う手立てはありますが、質問文に書いたようにGCCが使えない場合もあります。それでも展開だけで動くものもあります。 ただ、お聞きしたかったのは、それを判断するための情報なのですが、やはりなかなか無いようですね…。

関連するQ&A