前へ << HTTP proxy サーバを作ってみよう | モジュールを使って POP3 クライアントを作ってみよう >> 次へ |
この他にも、さらに便利なモジュール
まず、モジュールの探し方ですが、 Net::POP3 モジュールは libnet-1.0607.tar.gz というファイルに 含まれています。このように、モジュール名とアーカイブ名が 別々なこともありますので注意して下さい。 アーカイブ名がわかっているなら http://www.ring.gr.jp/local/search-j.html から探すのがお手軽でしょうか。「libnet」をキーワードにすると
/pub/lang/perl/CPAN/authors/id/GBARR/libnet-1.0607.tar.gzというファイルが見付かるでしょうから、それをダウンロードして下さい。
なお、ring サーバは CPAN サイトをミラーしているだけです。 直接 CPAN から落とすには
% tar zxvf libnet-1.0607.tar.gz % cd libnet-1.0607/ % perl Makefile.PL (この perl は perl5 を使うこと) % make % su (root になる) # make install (インストール)ただし、これは root 権限を持っていないとうまくいきません。 個人のホームディレクトリにインストールする場合は、 Makefile 生成時に
% perl Makefile.PL LIB=~/p5-module/ INSTALLMAN1DIR=~/p5-module/man1/ \ INSTALLMAN3DIR=~/p5-module/man3/なととしましょう。make install 時に /home/username/p5-module/ 以下の ディレクトリにインストールされます。ここではホームディレクトリを 省略して ~/ と書くことができます。
なお、Makefile 生成時のオプションについては、
% perldoc ExtUtils::MakeMakerで調べることができます。
% su # pkg_add p5-hogehoge.tar.gzports を使うなら
% su # cd /usr/ports/perl5/hogehoge/ # make # make installです。
% perl -MCPAN -e shellとするだけで簡単に使えます。初めて使用する場合は設定に関する質問を 聞いてきます。
hoge hoge fuga fuga? [foo]いくつかこのような質問されますが、ここで ENTER を押すと [] で囲まれているデフォルト値 (ここでは foo) が使われます。基本的に
以下、原文と拙訳です。
% perl -MCPAN -e shell /home/username/.cpan/CPAN/MyConfig.pm initialized. CPAN is the world-wide archive of perl resources. It consists of about 100 sites that all replicate the same contents all around the globe. Many countries have at least one CPAN site already. The resources found on CPAN are easily accessible with the CPAN.pm module. If you want to use CPAN.pm, you have to configure it properly. CPAN は perl のモジュールを集めているところで、全世界に100以上の ミラーサイトがある。CPAN のデータには CPAN.pm モジュールを使って 簡単にアクセスできる。もし CPAN.pm を使いたいなら、適切に設定しなきゃ いけない。 If you do not want to enter a dialog now, you can answer 'no' to this question and I'll try to autoconfigure. (Note: you can revisit this dialog anytime later by typing 'o conf init' at the cpan prompt.) もしあなたが今設定を行いたくなかったら、 次の質問に `no' と答えてくれ。そしたら自動設定を行う。 ただし、CPAN プロンプト上で `o conf init' と タイプしたら、いつでもここで省略した設定を行えるので、 心配しないように。 Are you ready for manual configuration? [yes] (ENTER) 手動設定の準備はいい? ENTER を押す (yes と答えたのと同じこと) The following questions are intended to help you with the configuration. The CPAN module needs a directory of its own to cache important index files and maybe keep a temporary mirror of CPAN files. This may be a site-wide directory or a personal directory. 設定を行うために、これからいくつかの質問をする。 CPAN モジュールは、キャッシュやテンポラリファイルのために 専用のディレクトリを必要とする。これは、共用のディレクトリでも よいし、個人のディレクトリでもよい。 I see you already have a directory /home/username/.cpan Shall we use it as the general CPAN build and cache directory? CPAN build and cache directory? [/home/username/.cpan] (ENTER) モジュール構築用ディレクトリと、キャッシュ用ディレクトリを指定して。 省略したら /home/username/.cpan/ を使うけといい? ENTER を押す。 If you want, I can keep the source files after a build in the cpan home directory. If you choose so then future builds will take the files from there. If you don't want to keep them, answer 0 to the next question. もし望むなら、コンパイルした後のソースファイルを CPAN ディレクトリに保存しておくことができる。 保存しておくなら、次回のコンパイル時にその ファイルが使われる。もし保存しておかないなら、 次の質問に対して 0 と回答すること。 How big should the disk cache be for keeping the build directories with all the intermediate files? Cache size for build directory (in MB)? [10] 20 コンパイルの際のファイルなどをキャッシュしておく ディレクトリのサイズはどれくらいにする? キャッシュディレクトリのサイズを MB 単位で答えてくれ (デフォルトは 10) ここではなんとなく 20MB としてみた。 By default, each time the CPAN module is started, cache scanning is performed to keep the cache size in sync. To prevent from this, disable the cache scanning with 'never'. デフォルトでは、CPAN モジュールが実行されたときに (perl -MCPAN -e shell を実行したとき)、ネットワークに接続して、 キャッシュしておいたモジュールの一覧が最新のものかどうかを調べる。 これを行いたくないなら、キャッシュチェックを `never' にすること。 Perform cache scanning (atstart or never)? [atstart] (ENTER) キャッシュチェックを有効にする? 「実行直後 (atstart)」か「チェックを行わない (never)」を選択。 デフォルトは「実行直後」。 まぁ、atstart を選んでおくのが無難か。なので、ENTER。 The CPAN module can detect when a module that which you are trying to build depends on prerequisites. If this happens, it can build the prerequisites for you automatically ('follow'), ask you for confirmation ('ask'), or just ignore them ('ignore'). Please set your policy to one of the three values. Policy on building prerequisites (follow, ask or ignore)? [follow] (ENTER) CPAN モジュールは、あなたがインストールしようとしている モジュールが、他のモジュールに依存するかどうか (他のモジュールを 必要とするか) を自動的に調べることができる。その場合、 自動的に取得・コンパイルするか (follow)、ユーザに 問い合わせるか (ask)、無視する (ignore) という3通りの 方針がある。どの方針を選択するか選べ。 必要とするモジュールの構築方針は? (follow か ask か ignore) [デフォルトは follow] follow か ask がいいだろう。とりあえず ENTER で follow を選択。 The CPAN module will need a few external programs to work properly. Please correct me, if I guess the wrong path for a program. Don't panic if you do not have some of them, just press ENTER for those. CPAN モジュールは、いくつかの外部プログラムを必要とする。 こちらで勝手に推測したプログラムのフルパスを表示するが、 間違っていたら修正してくれ。以下のプログラムを持っていなかったら ENTER キーを押すだけでいいよ。 Where is your gzip program? [/usr/bin/gzip] (ENTER) Where is your tar program? [/usr/bin/tar] (ENTER) Where is your unzip program? [/usr/local/bin/unzip] (ENTER) Where is your make program? [/usr/bin/make] (ENTER) Where is your lynx program? [/usr/local/bin/lynx] (ENTER) Warning: ncftpget not found in PATH Where is your ncftpget program? [] (ENTER) Warning: ncftp not found in PATH Where is your ncftp program? [] (ENTER) Where is your ftp program? [/usr/bin/ftp] (ENTER) What is your favorite pager program? [jless] (ENTER) What is your favorite shell? [/usr/local/bin/tcsh] (ENTER) gzip,tar,unzip,make,lynx,ncftpget,ncftp,ftp,ページャ(moreやless), シェル (tcsh や bash) を選んでいる。ここでは全ての質問に ENTER キーを 押した。ncftpget と ncftp が見付からない、と警告されているが、無視。 Every Makefile.PL is run by perl in a separate process. Likewise we run 'make' and 'make install' in processes. If you have any parameters (e.g. PREFIX, INSTALLPRIVLIB, UNINST or the like) you want to pass to the calls, please specify them here. If you don't understand this question, just press ENTER. Makefile.PL は perl によって別プロセスとして実行される。 make や make install も同様に別のプロセスである。 各段階で指定したいパラメータがあれば以下に指定してくれ。 この質問が理解できなかったら、ENTER キーを押してね。 Parameters for the 'perl Makefile.PL' command? [] LIB=~/p5-module/ INSTALLMAN1DIR=~/p5-module/man1/ INSTALLMAN3DIR=~/p5-module/man3/ Parameters for the 'make' command? [] (ENTER> Parameters for the 'make install' command? [] (ENTER> 'perl Makefile.PL' に指定するオプションは? 'make' に指定するオプションは? 'make install' に指定するオプションは? ここでは perl Makefile.PL の引数に LIB、INSTALLMAN1DIR、 INSTALLMAN3DIR を指定した。つまり、 % perl Makefile.PL LIB=~/p5-module/ INSTALLMAN1DIR=~/p5-module/man1/ \ INSTALLMAN3DIR=~/p5-module/man3/ % make % make install とすることと同じで、ホームディレクトリにモジュールがインストール されることになる。個人のディレクトリにインストールするならこういう 風にすればよい。そうでないなら、全て ENTER でいいだろう。 Sometimes you may wish to leave the processes run by CPAN alone without caring about them. As sometimes the Makefile.PL contains question you're expected to answer, you can set a timer that will kill a 'perl Makefile.PL' process after the specified time in seconds. If you set this value to 0, these processes will wait forever. This is the default and recommended setting. Timeout for inactivity during Makefile.PL? [0] また、Makefile.PL があなたに質問してくることもある。 そこで `perl Makefile.PL' のプロセスを殺すまでの時間を 設定することができる。 値を0にすれば、プロセスは永遠に待ち続ける。これは デフォルトの設定で、この設定を推奨する。 Makefile.PL 実行時のタイムアウト時間は? [デフォルト値は0] ENTER で 0 にする。 If you're accessing the net via proxies, you can specify them in the CPAN configuration or via environment variables. The variable in the $CPAN::Config takes precedence. もし proxy サーバを経由してネットワークに接続している場合は、 指定してくれ。 Your ftp_proxy? (ENTER) Your http_proxy? proxy.cs.gunma-u.ac.jp:8080 Your no_proxy? (ENTER) You have no /home/username/.cpan/sources/MIRRORED.BY I'm trying to fetch one CPAN: Net::FTP loaded ok Fetching with Net::FTP: ftp://ftp.perl.org/pub/CPAN/MIRRORED.BY ftp proxy は? http proxy は? proxy を経由しないサイトは? /home/username/.cpan.sources/MIRRORED.BY がないので、 今から取得する。 Net::FTP を使って ftp://ftp.perl.org/pub/CPAN/MIRRORED.BY を取得中 ... Now we need to know where your favorite CPAN sites are located. Push a few sites onto the array (just in case the first on the array won't work). If you are mirroring CPAN to your local workstation, specify a file: URL. あなたの好きな CPAN サイトを決める。 もしローカルに CPAN のミラーを行っているなら、file:.. という 形式で指定してくれ。 First, pick a nearby continent and country (you can pick several of each, separated by spaces, or none if you just want to keep your existing selections). Then, you will be presented with a list of URLs of CPAN mirrors in the countries you selected, along with previously selected URLs. Select some of those URLs, or just keep the old list. Finally, you will be prompted for any extra URLs -- file:, ftp:, or http: -- that host a CPAN mirror. まず、最も近い地域を選んでくれ。 (1) Africa (2) Asia (3) Australasia (4) Central America (5) Europe (6) North America (7) South America Select your continent (or several nearby continents) [] 2 地域を選ぶ。大抵の場合 (2) Asia だろう。 (1) China (2) Hong Kong (3) Indonesia (4) Israel (5) Japan (6) Saudi-Arabia (7) Singapore (8) South Korea (9) Taiwan (10) Thailand Select your country (or several nearby countries) [] 5 国を選ぶ。(5) の Japan だね。 (1) ftp://ftp.dti.ad.jp/pub/lang/CPAN/ (2) ftp://ftp.jaist.ac.jp/pub/lang/perl/CPAN/ (3) ftp://ftp.lab.kdd.co.jp/lang/perl/CPAN/ (4) ftp://ftp.meisei-u.ac.jp/pub/CPAN/ (5) ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/ (6) ftp://mirror.nucba.ac.jp/mirror/Perl/ Select as many URLs as you like [] 5 ネットワーク的に近い URL を選択してくれ。 今回は (5) の RING を選んだ。 Enter another URL or RETURN to quit: [] RETURN これでよければ RETURN を押せ。もし別の URL が良ければ URL を入力してくれ。 これでよいので、RETURN を押す。 New set of picks: ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/ ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/ が選択された。 WAIT support is available as a Plugin. You need the CPAN::WAIT module to actually use it. But we need to know your favorite WAIT server. If you don't know a WAIT server near you, just press ENTER. WAIT サポートが利用可能である。実際に使うには CPAN::WAIT モジュールが 必要になる。使用したい WAIT サーバを教えてくれ。もしネットワーク的に 近い WAIT サーバを知らなければ、次の質問で ENTER を押してくれ。 Your favorite WAIT server? [wait://ls6.informatik.uni-dortmund.de:1404] 好きな WAIT サーバはある? デフォルトは wait://ls6.informatik.uni-dortmund.de:1404 WAIT サーバとは何なのか よくわからないので、ENTER を押す。 commit: wrote /home/username/.cpan/CPAN/MyConfig.pm これまで行った設定を /home/username/.cpan/CPAN/MyConfig.pm に 出力した。 cpan shell -- CPAN exploration and modules installation (v1.48) ReadLine support available (try ``install Bundle::CPAN'')ここまでで設定は終了です。画面には cpan> というプロンプトが 表示されているはずです。一度ここで終了してみましょう。
cpan> quit再度実行します。
% perl -MCPAN -e shell今度は設定に関する質問は聞かれません。前回設定したものが ~/.cpan/ に保存されているからです。 ただし、前回
Perform cache scanning (atstart or never)? [atstart] キャッシュチェックを有効にする?で、tstart を選択 (ENTER を入力) した場合は、最新の モジュールの一覧を取得しようとします。
cpan> m /POP3/ Fetching with Net::FTP: ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/authors/01mailrc.txt.gz Going to read /home/username/.cpan/sources/authors/01mailrc.txt.gz Fetching with Net::FTP: ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/modules/02packages.details.txt.gz Going to read /home/username/.cpan/sources/modules/02packages.details.txt.gz Scanning cache /home/username/.cpan/build for sizes There's a new CPAN.pm version (v1.52) available! You might want to try install Bundle::CPAN reload cpan without quitting the current session. It should be a seamless upgrade while we are running... Fetching with Net::FTP: ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/modules/03modlist.data.gz Going to read /home/username/.cpan/sources/modules/03modlist.data.gz Module Mail::POP3Client (SDOWD/POP3Client-2.6.tar.gz) Module Net::POP3 (GBARR/libnet-1.0701.tar.gz)Mail::POP3Client と Net::POP3 というモジュールがあり、 それぞれ POP3Client-2.6.tar.gz、libnet-1.0701.tar.gz という アーカイブに含まれていることがわかります。 これはこの時点での最新版です。 SDOWD や GBARR は、作者名の省略形です。 CPAN ではモジュールの作者名が大きな意味をしめており、 頻繁に使うことになります。
モジュールのインストールには、3つの方法があります。
普通はこれを使うといいでしょう。
cpan> install Net::POP3モジュール名がわかっているなら、それをインストールします。
cpan> install SDOWD/POP3Clientこの場合は、作者名 (の略称) から書き始めないといけません。 バージョン名は省略できます。
Bundle とは、複数のモジュールのリストです。
cpan> install Bundle::libnet
cpan> install GBARR/libnet-1.0701.tar.gzと、作者名や最後の .tar.gz も含めて記述すると、 指定したバージョンが必ずインストールされます。
% perl -MCPAN -e shellとして、「o conf」とすると、現在の設定一覧が表示されます。
% perl -MCPAN -e shell cpan> o conf CPAN::Config options and /home/username/.cpan/CPAN/MyConfig.pm: commit Commit changes to disk defaults Reload defaults from disk init Interactive setting of all options build_cache 10 build_dir /home/username/.cpan/build cpan_home /home/username/.cpan ftp /usr/bin/ftp ftp_proxy getcwd cwd gzip /usr/bin/gzip http_proxy inactivity_timeout 0 index_expire 1 inhibit_startup_message 0 keep_source_where /home/username/.cpan/sources lynx /usr/local/bin/lynx make /usr/bin/make make_arg make_install_arg makepl_arg ncftp ncftpget no_proxy pager jless prerequisites_policy follow scan_cache atstart shell /usr/local/bin/tcsh tar /usr/bin/tar unzip /usr/local/bin/unzip urllist wait_list wait://ls6.informatik.uni-dortmund.de:1404「o conf オプション名」で、そのオプションの設定が表示されます。
cpan> o conf make make /usr/bin/makeさらにその後に文字列を書けば、オプション内容を変更できます。
cpan> o conf make /usr/local/bin/gmake make /usr/local/bin/gmakeこれは、例として出しただけで、gmake を使う必要は特にないでしょう。
前へ << HTTP proxy サーバを作ってみよう | モジュールを使って POP3 クライアントを作ってみよう >> 次へ |
ご意見・ご指摘は Twitter: @68user までお願いします。