[pod] [xml]

NAME

perlfaq2 - Perlの入手と学習 ($Revision: 1.32 $, $Date: 1999/10/14 18:46:09 $)

DESCRIPTION

FAQのこのセクションでは、PerlのソースやPerlに関するドキュメント が手に入れられる場所に関する質問や、サポートとトレーニング、関連 した出来事に関する質問に回答しています。

What machines support Perl? Where do I get it?

(Perl はどんなマシンで動きますか? どこで入手できますか?)

Perlの標準リリース(perl 開発チームが保守しているもの)は ソースコード形式でのみ配布されています。 これは http://www.cpan.org/src/latest.tar.gz にインターネットで標準的なフォーマット(gzip された POSIX tar のアーカイブ)が あります。

このソースはほとんどの UNIX システム(perl の本来の環境)を サポートしていますし、VMS, OS/2, Window, QNX, BeOS, MPE/iX, Amiga といった その他のシステムもサポートしています。

Appleなどの幾つかの独占的システム用のバイナリ配布パッケージは http://www.cpan.org/ports/ というディレクトリで見つけられます。これらは標準配布パッケージには 含まれていないので、様々な面で基本的な Perl の移植とは異なっています。 あなたはリリースノートを読んで、(標準のものと)なにが違っているのかを 確かめる必要があるでしょう。 そういった違いは、ポジティブなもの(標準リリースの perl では サポートされていないような、プラットフォーム特有の機能に対する 拡張機能など)もあればネガティブなもの(最新の標準 perl にあまり 基づいていないものなど)もあるでしょう。

How can I get a binary version of Perl?

(バイナリ形式の Perl はどうすれば入手できますか?)

あなたの使っているシステムのベンダーがシステムにコンパイラーを含めていない等の 理由でCコンパイラーが使えない場合、最も良い方法はネットから gcc のバイナリを入手して、それをつかってperlをコンパイルするということです。 CPAN には、UNIX ではない、フリーなコンパイラーを入手することが恐ろしい程 困難なシステム用のバイナリしかありません。

幾つかのURLが助けになるでしょう:

    http://www.cpan.org/ports/
    http://language.perl.com/info/software.html

Win16 用 Perl を探しているのなら、Laszlo Molnar による djgpp 版が 分かりやすいインストール方法と共に http://www.cpan.org/ports/#msdos にあります。 Ilya Zakharevich による OS/2 版の MS-DOS 向けの簡単なインストールガイドが http://www.cs.ruu.nl/%7Epiet/perl5dos.html に、 Windows 3.1 用のものが http://www.cs.ruu.nl/%7Epiet/perlwin3.html にあります。

I don't have a C compiler on my system. How can I compile perl?

(私は自分の使っているシステム用のCコンパイラーを持っていません。どうすれば perl をコンパイルできるでしょう?)

汝は C コンパイラーを持っていないが故に、汝は破滅し、汝のベンダーは Sun の神に対する贄となるべし。しかし、それは汝を救うことはない。

あなたがする必要のあることは、まず始めにあなたの使っているシステム向けの gcc のバイナリを入手することです。 それを手に入れる場所については、あなたの使っているオペレーティングシステム向けの Usenet FAQ をあたってください。

I copied the Perl binary from one machine to another, but scripts don't work.

(Perl のバイナリをあるマシンから別のマシンにコピーしたのだけどスクリプトが動きませんでした)

それは多分、ライブラリをコピーするのを忘れたか、ライブラリパスが 違っているのでしょう。実際に使用するマシンの上で配布パッケージ全体から ビルドをして、その後に make install とタイプするようにすべきです。 他のやり方ではほとんど失敗してしまうでしょう。

正しい場所がどこなのかを確かめる単純な方法の一つは、perl が ライブラリを検索する場所がハードコードされている @INC を出力することです。

	% perl -e 'print join("\n",@INC)'

もしこのコマンドの出力にあなたのシステムはないパスが含まれていたら、 適切なライブラリをそういった場所に移すか、シンボリックリンク、 エイリアス、ショートカットといったものを作成する必要があるでしょう。 @INC はまた

    % perl -V

でも出力が行われます。

perlfaq8/"How do I keep my own module/library directory?" もチェックしておいたほうが良いかもしれません。

I grabbed the sources and tried to compile but gdbm/dynamic loading/malloc/linking/... failed. How do I make it work?

(ソースを取ってきてコンパイルしようとしたのだけど、gdbm/dynamic loading/malloc/linking/... failed. となってしまった。動くようにするにはどうすればいいの?)

ソースの配布パッケージに入っていたINSTALL というファイルを読んでください。 そこには一部のシステムやアーキテクチャーにおいて Configure スクリプトが 動作しないという問題のほとんどの場合に対処する方法が説明されています。

What modules and extensions are available for Perl? What is CPAN? What does CPAN/src/... mean?

(Perlに使えるモジュールとかエクステンションってなんですか?CPANってなに? CPAN/src/...ってどういう意味なんですか?)

CPAN は Comprehensive Perl Archive Network (総合 Perlアーカイブネットワーク)の 略で、これは世界中にあるほぼ 200 のマシン上の 700MB のアーカイブの写しです。 CPANにはソースコード、ネイティブでない移植、ドキュメント、スクリプト、 多くのサードパーティーによるモジュールやエクステンションが収められていて、 商用データベースから web ウォーキングを制御するキーボード/スクリーン インターフェースと CGI スクリプトでデザインされています。 CPAN のメインウェブサイトは http://www.cpan.org/ にあります。また CPAN Multipler http://www.perl.com/CPAN/CPAN.html を使うと DNS 経由であなたの近くになるミラーサイトを選ぶことができます。 使えます。これがどう動いているかは >http://www.perl.com/CPAN を見てください(最後のスラッシュはありません)。 また、 http://mirror.cpan.org/ は the http://www.cpan.org/MIRRORED.BY ミラーディレクトリへのよいインターフェースを提供しています。

CPAN についてのよくある質問や、ミラーになる方法については、 CPAN FAQ http://www.cpan.org/misc/cpan-faq.html を参照してください。

CPAN/path/... は CPAN サイト上で入手できるファイルに対する名前づけの規則です。 CPAN は CPAN のミラーリングしている基準ディレクトリを示し、 パスの残りの部分はそのディレクトリからファイルへの相対パスを示します。 たとえば、ftp://ftp.funet.fi/pub/languages/perl/CPAN があなたの使っている CPAN サイトだとすると、CPAN/misc/japh というファイルは ftp://ftp.funet.fi/pub/languages/perl/CPAN/misc/japh からダウンロードできます。

アーカイブには 2000 近いモジュールが既にあるということを考えれば、 あなたが考えるようなものに近いものがあると云う可能性があります。 CPAN/modules/by-category/ の下のカテゴリーは現在のところ、 Perl コアモジュール、開発サポート、オペレーティングシステムインターフェース、 ネットワーク、デバイス、プロセス間通信、データ型ユーティリティ、 データベースインターフェース、ユーザーインターフェース、 他の言語に対するインターフェース、ファイル名、ファイルシステム、 ファイルのロック、国際化(internationalization)とロカール(locale)、 ワールドワイドウェブのサポート、サーバーやデーモンのユーティリティ、 アーカイブと圧縮、イメージ操作、メールやニューズ、制御フローユーティリティ、 ファイルハンドルとI/O、Microsoft Windows モジュール、 その他といったものが含まれます。

カテゴリ別のモジュールのより完全なリストについては http://www.cpan.org/modules/00modlist.long.htmlhttp://search.cpan.org/ を参照してください。

Is there an ISO or ANSI certified version of Perl?

(ISO や ANSI で認証された Perl はあるの?)

現時点ではありません。Larry は Perl より先に自分が認証されるだろうと考えています。

Where can I get information on Perl?

(Perlに関する情報はどこで手に入れられますか?)

Perlに関する完全なドキュメントはPerlの配布パッケージに含まれています。 あなたが Perl をローカルにインストールしたのなら、ドキュメントも同様に インストールされているでしょう。 あなたの使っているシステムが UNIX に似たものであるなら、 man perl とタイプしてみてください。 $MANPATH の設定方法を含め、これは他の重要なマニュアルページへ 導くものとなるでしょう。 あなたの使っている UNIX でないのであれば、ドキュメントにアクセスするのには 違った方法になります。 たとえば、HTMLフォーマットのドキュメントだけが使えるかもしれません。 すべての適切な Perl のインストールでは完全にアクセス可能な ドキュメントが存在します。

あなたの使っているシステムに適当な man コマンドがなければ、perldoc perl を試してみてください。これが駄目ならインストールはうまく行っていません。 もしうまく行かなかったのなら、/usr/local/lib/perl5/pod にあるドキュメントを 探してみてください。

今までの方法が全部失敗してしまったなら、HTML フォーマットの 完全なドキュメントが収められている http://perldoc.cpan.org/ または http://www.perldoc.com/ を参照してみてください。

Perl について書かれた多くの良書があります。詳しくは後のセクションを みてください。

チュートリアルは Perl のリリースに含まれていて、オブジェクトの チュートリアルは perltoot、 初心者向けのオブジェクトへのアプローチは perlboot、 ファイルのオープンに関するものは perlopentut、 リファレンスの管理は perlreftut、 正規表現に関しては perlretut、 スレッドに関しては perlthrtut、 デバッグに関しては perldebtut、 C と Perl とのリンクは perlxstutにあります。 これを読むことによって得るものは多いでしょう。 以下のURLも助けになるかもしれません:

    http://perldoc.cpan.org/
    http://www.perldoc.com/
    http://reference.perl.com/query.cgi?tutorials
    http://bookmarks.cpan.org/search.cgi?cat=Training%2FTutorials

What are the Perl newsgroups on Usenet? Where do I post questions?

(Usenet にある Perl のニューズグループはなに?質問はどこに投稿するの?)

現在、ニューズグループcomp.lang.perlは以下に挙げたグループに分割されています。

    comp.lang.perl.announce             Moderated announcement group
    comp.lang.perl.misc                 Very busy group about Perl in general
    comp.lang.perl.moderated            Moderated discussion group
    comp.lang.perl.modules              Perlモジュールの使用と開発
    comp.lang.perl.tk                   PerlからTk(と X)を使う
    comp.infosystems.www.authoring.cgi  WebのためにCGIスクリプトを書く

一流のPerl開発チーム(perl5-poters)によって使われている メーリングリストにたいする USENET ゲイトウェイが news://news.perl.com/perl.porters-gw/ にあります。

Where should I post source code?

(ソースコードはどこに投稿すべきなのですか?)

最も適切なグループに投稿すべきですが、comp.lang.perl.misc へ クロスポストするのはあなたの自由です。 もしあなたが alt.sources にもクロスポストしたいのならそこの投稿規則に従って、 alt.sources を 含まない Followup-To ヘッダーを設定してください。 詳しくは(投稿に関する) FAQ (http://www.faqs.org/faqs/alt-sources-intro/) を参照してください。

もしあなたが単にソフトウェアを探しているだけならば、まず最初に Google (http://www.google.com), Deja (http://www.deja.com), CPAN Search (http://search.cpan.org) をあたってみましょう。 それが、探し物の投稿をするよりも速くて生産的なやり方です。

Perl Books

Perl や CGI プログラミングに関する本は何冊かが入手可能です。 そのうちの幾つかは良く(good)、一部はまあまあ(OK)といったところですが多くは お金を出すほどの価値がありません。 Tom Christiansen はこういった本のリスト http://www.perl.com/perl/critiques/index.html を(多くのレビューを付けて)保守しています。

Perl の創造者とその使徒によって書かれた Perl に関する本の決定版と 言えるものがあります。現在(2000 年 7 月)では第三版になっています。

    Programming Perl (ラクダ本):
	by Larry Wall, Tom Christiansen, and Jon Orwant
        0-596-00027-8  (英語版)
        4873110963     (日本語版第一巻)
        4873110971     (日本語版第二巻)
	http://www.oreilly.com/catalog/pperl3/
    (English, translations to several languages are also available)

現実世界の例、小さなチュートリアル、完全なプログラムを たくさん収録したcompanion volumeがある:

    The Perl Cookbook (the "Ram Book"):
	by Tom Christiansen and Nathan Torkington,
	    with Foreword by Larry Wall
	ISBN 1-56592-243-3 [1st Edition August 1998]
	http://perl.oreilly.com/cookbook/

もしあなたがすでに経験を積んだシステムプログラマーであるなら、 ラクダ本で十分かもしれません。もしそうでないのなら以下の本が良いでしょう:

    Learning Perl (ラマ本):
	著者: Randal Schwartz and Tom Christiansen 
	by Randal Schwartz and Tom Christiansen
		    with Foreword by Larry Wall
	ISBN 1-56592-284-0 [2nd Edition July 1997]
	http://www.oreilly.com/catalog/lperl2/

上記のURLにある絵とは違って、“ラマ本”の第二版の表紙は 実際には青いカバーであり、Perlのリリース5.004に合わせて アップデートされていました。 翻訳されたものが幾つかあり、 Learning Perl on Win32 Systems (ヤモリ本)もあります。

あなたが腰掛けプログラマーではなくて、 まじめであるかひょっとしたらコンピューターの科学者 だったりなんかして、ラマ本とかヤモリ本で書こうとしたこと を必要としていなければ、Nigel Chapman による Perl: The Programmer's Companion をチェックしてみてください。

Addison-Wesley ( http://www.awlonline.com/ ) と Manning ( http://www.manning.com/ ) もまた Damian Conway による Object Oriented Programming with Perl や Lincoln Stein による Network Programming with Perl といった 素晴らしい Perl 本を出版しています。

素晴らしい技術書の安売り屋である Bookpool http://www.bookpool.com/ では 30% 以上の値引きも 珍しくありません。

以下に挙げたリストは、FAQ の作者が個人的に便利だと思う本のリストです。 あなたの見方は違ったものかもしれません(が、そうではないと私たちは願っています)。

Perlに関連していてお薦めの本は以下の通りです。

Perl in Magazines

Perl Jounalには、チュートリアル、デモ、ケーススタディ、 アナウンス、などなどたくさんありました。 TPJには web 開発、データベース、Win32 版 Perl、グラフィックプログラミング、 正規表現、ネットワーク、難解な Perl コンテスト(Obfuscated Perl Contest) に関するコラムがありました。 悲しいことに、もはや定期的には発行されていませんが、 しかし復活するに違いありません。 その時にはたぶん http://use.perl.org/ でアナウンスされるでしょう。

この他、Perlに関する高品質の記事を頻繁に掲載している Web Techniques (http://www.webtechniques.com/)と、 Performance Computing (http://www.performance-computing.com/) といった雑誌と、 そして Usenix のメンバーに対する newsletter/magazine である login:( http://www.usenix.org/) などがあります Randal Schwartz の Web テクニックというコラムは http://www.stonehenge.com/merlyn/WebTechniques/ で入手できます。

Perl on the Net: FTP and WWW Access

(ネット上のPerl: FTPとWWWアクセス)

入手するのに最も手っ取り早いのは、 /CPAN/MIRRORED.BY か http://mirror.cpan.org/ のリストからサイトを選んで、ミラーサイトの完全なリストを作るのに 使うということです。このリストから、あなたからもっとも近いものを 見つけられるでしょう。 このリストは CPAN のミラーサイトの完全なリストではないことを忘れないでください (完全なリストは 2001 年 1 月現在 165 サイトあります)。 http://www.cpan.org/ http://www.perl.com/CPAN/ http://download.sourceforge.net/mirrors/CPAN/ ftp://ftp.digital.com/pub/plan/perl/CPAN/ ftp://ftp.flirble.org/pub/languages/perl/CPAN/ ftp://ftp.uvsq.fr/pub/perl/CPAN/ ftp://ftp.funet.fi/pub/languages/perl/CPAN/ ftp://ftp.dti.ad.jp/pub/lang/CPAN/ ftp://mirror.aarnet.edu.au/pub/perl/CPAN/ ftp://cpan.if.usp.br/pub/mirror/CPAN/

また、xx.cpan.org を使うことも出来ます。ここで "xx" はあなたのドメインの 2 文字の国コードです。つまり、オーストラリアでは au.cpan.org となります。

What mailing lists are there for Perl?

(Perlのためのメイリングリストって?)

主なモジュール(Tk, CGI, libwww-perl)はそれぞれのメイリングリストが あります。それぞれのモジュールに付属している申し込み情報を 調べてみてください。

	http://lists.cpan.org/	

Archives of comp.lang.perl.misc

Deja とか Alta Vista をもう試しましたか? これらは非常に良いアーカイブです。 ニューズグループとして“*perl*”を探してみましょう。

    http://www.deja.com/dnquery.xp?QRY=&DBS=2&ST=PS&defaultOp=AND&LNG=ALL&format=terse&showsort=date&maxhits=25&subjects=&groups=*perl*&authors=&fromdate=&todate=

それでも調整したくなるかもしれません。

あなたはおそらく、単なるファイルのリスティングよりも、 洗練された少なくとも発言者(author)、日付、サブジェクト、スレッド、 キーワードをキーとするfast-access インデクスを使った発言の取り込みが できるような問い合わせの機構が欲しくなるでしょう。 この FAQ の編纂者の知る最善の解決策は、MH の pick コマンドを使うことですが、 これは 18000 にものぼる発言から選択するのは非常に遅いです。

もし欠けているセクションを、持っていたりどこにあるかを知っていたら、 perlfaq-suggestions@perl.com までお知らせください。

Where can I buy a commercial version of Perl?

(どこで商用版Perlを買うことができますか?)

実際のところ、Perlは既に商用ソフトウェアです。 Perl にはあなたがマネージャーの心を捕らえたり、注意深く説明できるような ライセンスがありますし、Perl は良く定義されたパッケージでリリースされ、 配布されています。 そこには非常に大きなユーザーコミュニティと、広い文化があります。 comp.lang.perl.* ニューズグループと、幾つかのメイリングリストはあなたの疑問に 対してほぼリアルタイムで、無料で回答してくれます。 Perl は伝統的に Larry と、十数人のソフトウェアデザイナーやソフトウェア開発者、 それとたくさんのプログラマーによってサポートされてきました。 すべての作業は無料で、すべての人のためになされました。

しかし、こういった答えはソフトウェアを購入した会社を、そのソフトウェアに 何か不具合があったときに訴えることができることを要求するようなマネージャーを 満足させるものではないでしょう。 あるいは、彼ら(マネージャー)は、非常に重要な取っかかり(hand-holding)や契約上の 義務を必要としているのかもしれません。 そういったものがある、シュリンクラップされた CD に入ったperlが幾つかのところから 入手できますが、これが助けになるかもしれません。 例えば、多くの Perl 本が Perl の配布キットを同梱しています。 そう、O'Reily の Perl リソースキット (Unix 版と Windows 版があります)がそうしているように。 フリーな UNIX を配布しているディストリビューターは Perl を同梱しています。

あるいは、商用のインシデントベースのサポートを Perl Clinic から 受けることも出来ます。以下は彼らからの宣伝です。

"The Perl Clinic is a commercial Perl support service operated by ActiveState Tool Corp. and The Ingram Group. The operators have many years of in-depth experience with Perl applications and Perl internals on a wide range of platforms.

"Through our group of highly experienced and well-trained support engineers, we will put our best effort into understanding your problem, providing an explanation of the situation, and a recommendation on how to proceed."

Perl Clinic への連絡先は以下の通りです。

    www.PerlClinic.com
    North America Pacific Standard Time (GMT-8)
    Tel:    1 604 606-4611 hours 8am-6pm
    Fax:    1 604 606-4640
    Europe (GMT)
    Tel:    00 44 1483 862814
    Fax:    00 44 1483 862801

チュートリアル、トレーニング、サポートの状況は www.perl.com にある更新情報も参照してください。

Where do I send bug reports?

(バグレポートはどこへ送るの?)

perl インタープリターや Perl と一緒に出荷されているモジュールについての バグの報告ならば、Perl の配布パッケージにある perlbug というプログラムを 使うか、perlbug@perl.org に email で報告を送ってください。

標準ではない移植(``What platforms is Perl available for?''の回答を 参照してください)、バイナリ配布、標準ではないモジュール(Tk、CGI など) といったものに関するバグであれば、そのパッケージなどに付属していた ドキュメントをよく読んで、適切な場所に報告してください。

詳しい情報は(perl5.004 以降の)perlbug(1) マニュアルページを読んでください。

What is perl.com? Perl Mongers? pm.org? perl.org?

(perl.com, Perl Mongers, pm.org, perl.org ってなんですか?)

http://www.perl.com/ にあるPerlのホームページは現在、 O'Reilly and Associatesによって援助されている SonglineシステムのT3ラインサービスに置かれています。 その他の出発点としては以下のものがあります:

    http://language.perl.com/
    http://conference.perl.com/
    http://reference.perl.com/

Perl Mongers は Perl 言語の一般的な支援をするための web サイト http://www.perl.org/ を管理している、 Perl 言語の支援団体です。

qPerl Mongers は Perl ユーザーグループに関係するサービスのために pm.org というドメインを使っています。 これにはメーリングリストや web サイトが含まれます。 Perl ユーザーグループへの参加、設立、あるいはサービス要求については Perl ユーザーグループ web サイト http://www.pm.org/ を参照して下さい。

Perl Mongers はまた Perl コミュニティのための一般的なサポートサービスを 提供するための perl.org ドメインも管理しています。 これにはメーリングリスト、web サイト、その他のサービスのホスティングが 含まれます。 http://www.perl.org は Perl 言語の一般的な支援を行う web サイトで、 以下のような特別なトピック用のサブドメインがあります:

    http://bugs.perl.org/
    http://history.perl.org/
    http://lists.perl.org/
    http://news.perl.org/
    http://use.perl.org/

AUTHOR AND COPYRIGHT

Copyright (c) 1997-2001 Tom Christiansen and Nathan Torkington. All rights reserved.

When included as an integrated part of the Standard Distribution of Perl or of its documentation (printed or otherwise), this works is covered under Perl's Artistic License. For separate distributions of all or part of this FAQ outside of that, see perlfaq.

Irrespective of its distribution, all code examples here are in the public domain. You are permitted and encouraged to use this code and any derivatives thereof in your own programs for fun or for profit as you see fit. A simple comment in the code giving credit to the FAQ would be courteous but is not required.