Presented by Nishishi via Movable Type. Last Updated: 2007/11/04. 05:23:40.

サーバにインストールされていないPerlモジュールを使うには

Perlプログラム中から特定のモジュールを利用するには use を使います。
例えば、CGI.pmを使いたいなら、

use CGI;

と書けば良いだけです。
で、CGI.pmくらいなら大抵のサーバでインストールされているでしょうが、サーバにインストールされていないPerlモジュールを使いたい場合(使わせたい場合)は、ユーザが自分でファイルを置ける位置にモジュールを置く(置かせる)しかありません。

その場合、use を書く前に、以下のようにモジュールを置いたディレクトリ(フォルダ)を記述しておく必要があります。

use lib qw(./modules);

上記の場合は、Perlプログラムのあるディレクトリの中の modules ディレクトリにモジュールがある場合の指定。もちろん、書けるなら絶対パスで書いても構いません。

モジュール(のファイル)もPerlプログラムと同じディレクトリに置かせたい場合は、次のように、カレントディレクトリを指定すれば良いでしょう。

use lib qw(.);

ちなみに、libモジュールを使わずに、直接@INC配列の中にパス(ディレクトリ名)を追加しても効果は同じです。

unshift @INC, ".";

@INC配列の中には、require や use で指定されたライブラリやモジュールを探しに行くディレクトリ(「/usr/lib/perl5」とか)が入ってます。この配列に直接追加しても構いません。

この日記へのコメントはお気軽に! コメント数:0 トラックバック数:1

コメント

コメント数: 0件

コメント投稿欄 この日記に対するコメント投稿を歓迎します。

保存しますか?



※本文中にURLは書けません。(書くと投稿が拒否されますのでご注意下さい。)

投稿後、投稿できていないように見えることがあります。ブラウザのキャッシュが読まれているだけですので、ページを再読込すれば(=たいてい[F5]キーを押せば)投稿内容が反映されていることが確認できるはずです。連続投稿を試す前にご確認下さい。(^^;)

トラックバック

このエントリーへのトラックバックURLを表示するにはここをクリック
※スパム防止のため、トラックバックURLは別ウインドウで表示します。(JavaScriptが有効でないと表示されません。)

このリストは、次のエントリーを参照しています: サーバにインストールされていないPerlモジュールを使うには:

» インストールされていないPerlモジュールを使う from アキラ's ITメモ
Perlを使ったスクリプトをcron経由で走らせようとしたときに、うまくモジュー... [続きを読む]

トラックバック時刻: 2007年01月09日 02:50