|
|
Win32 FAQ |
perlwin32faq1 - 入手方法とインストール
Perlの入手先、インストール、利用方法
Perlとは、システム管理及びWorld Wide Webのプログラミングに広く利用されているスクリプト言語です。UNIXコミュニティ生まれのため結構UNIX寄りのところがありますが、Win32プラットホームの利用者が急激に増加しています。Win32用リソースキットを利用すれば、Win32でもUNIXシステムと同等の力を発揮するようになります。
perl(小文字の'p')とは、Perl言語を解釈して逐次実行するプログラムのことです。
Perl自体に大量のオンラインドキュメントが付属しています。それらのドキュメントはperldocコマンドで見ることができます。
具体的には、perldoc document_nameのようにします。
最初はPerlとPerlFAQが手頃でしょう。(当ドキュメントのHTML版を含む)Perlドキュメントにアクセスする他の方法については、Perl for Win32用のドキュメントはどこで入手できますか?を参照して下さい。
Perlに関するその他の情報の入手先は、以下のURLを確認して下さい。:
http://www.ActiveState.com - Perl for Win32 のホームページ。.
http://www.perl.com - Perl のホームページ。
http://language.perl.com - Perl言語のホームページ
http://www.yahoo.com/Computers_and_Internet/Programming_Languages/Perl/ - Yahoo の Perl関連ページ。
Perlに関する書籍もよいものが何冊か出ています。Perl for Win32の入門書としては、Schwartz、Olson、Christiansen による「初めてのPerl Win32システム」(オライリー・ジャパン発行)があります。 これは表紙にヤモリ(大きな足と笑い顔を持った、小ぶりで丸っぽいトカゲ)の絵があるので、ヤモリ本と呼ばれています。
一般のperl用としては、忘れてはならない本が2冊出ています。 Larry Wall、Tom Christiansen、Randal L. Schwartz による「プログラミングPerl 第2版」(オライリー・ジャパン発行)と Randal L. Schwartz による「初めてのPerl」(オライリー・ジャパン発行)です。 これらは、Perl愛好者の間で同様にラクダ本(訳注:第2版を指して青ラクダともいう)、リャマ本と呼ばれています。
Perlが初めてで、このFAQに記述されている用語によくわからないものがある場合は、上記のリソースを当たってみるとよいでしょう。詳しくは、Perlに付属しているperlbookドキュメントを参照してください。
Perl for Win32パッケージは、ActiveState及びCPAN(Comprehensive Perl Archive Network)からanonymous FTPで入手することができます。
ActiveStateからダウンロードするには、次のディレクトリを当たってみてください。
http://www.ActiveState.com/pw32/
ActiveStateのPerl for Win32は、標準のPerlに基づいた自動インストール型のPerlディストリビューションです。ActiveStateのサイトでオンラインディストリビューションされており、Win32用リソースキットがバンドルされています。詳しくは、 http://www.ActiveState.com 及び http://perl.oreilly.com を参照してください。
``Perl for Win32'' とは、通常ActiveStateのPerlのリリースを指しています。
Perl for Win32 は、Microsoft社向けにActiveState Tool社(旧Hip Communications)によって開発されました。その努力は、Microsoft社のWindows NTリソースキットに含めるためのものでした。
以来ActiveState及びさまざまなポータがPerl標準リリースとPerl for Win32を同期させるために働いてきました。一つのPerlへの尽力、ActiveState、さまざまなボランティアが一体となった努力がWin32と標準のPerlソースコードを共通のソースツリーとしてまとめ上げたのです。
オライリー社のResource Kit for Win32には、perl、PerlIS、Perl Debugger、ActiveStateが開発したWin32特有のモジュールやツールが含まれています。
ダウンロードしたアーカイブをダブルクリックするだけです。後はインストールウィザードによるインストールプロセスが導いてくれます。 インストールしたいPerlパッケージやインストールしたい場所等を指定することもできます。
注意: 次の情報は、バージョン別にperlをインストールする場合のみに適用されるものです。新しいバージョンのActivePerlでは、デフォルトで簡単な(バージョン別ではない)インストール構造を取るようになっています。 詳しくはこちらに掲示してあります。 バージョン別のインストール方法の詳細はperlwin32ドキュメントを参照してください。
Perlはuseやrequireで指定したファイルを検索するパスとして、配列@INCを使用します。
(perl -Vを実行すると、最後に@INCの中身が表示されます。)
これは、実行時に
use lib 'directory_to_add'
で操作できます。また、レジストリや環境変数を設定することでも操作可能です。
デフォルトでは、次のディレクトリが@INCにセットされます。:
<myperldir>/site/<version>/lib/<architecturename>
<myperldir>/site/<version>/lib
<myperldir>/<version>/lib/<architecturename>
<myperldir>/<version>/lib
<myperldir>はC:\PerlのようなPerlのホームディレクトリを示しています。 <architecturename>は、MSWin32-x86やMSWin32-Alphaなどにあたります。
レジストリに登録することでカスタマイズできる設定もいくつかあります。 [HKEY_LOCAL_MACHINE/Software/Perl/] 及び[HKEY_CURRENT_USER/Software/Perl/]のキーの下に次の文字列を追加します。
LIB
LIB-<perlversion>
例)
LIB
LIB-5.0050
これでデフォルトのlibパスに指定したディレクトリが追加されます。 (Perl 5.005ではC:\Perl\5.00500\lib\MSWin32-x86とC:\Perl\5.00500\libとなります。」) 複数のバージョンのPerlをインストールしている場合、LIB-<perlversion>を使うと、特定のバージョンのPerl用にパスを変えることができるようになります。
SITELIB
SITELIB-<perlversion>
例)
SITELIB
SITELIB-5.0050
これは、指定したディレクトリがデフォルトのsitelibパスに追加されます。 (Perl 5.005では、C:\Perl\site\5.00500\lib\MSWin32-x86、C:\Perl\site\5.00500\lib、C:\Perl\site\libとなります。) 複数のバージョンのPerlをインストールしている場合、SITELIB-<perlversion>を使うと、特定のバージョンのPerl用にサイトパスをカスタマイズできるようになります。
[HKEY_CURRENT_USER/Software/Perl]は[HKEY_LOCAL_MACHINE/Software/Perl]より先に検索されます。したがって、ユーザ単位でPerlをカスタマイズすることも可能です。
さらに、環境変数Perl5libをセットしておくと、その値も@INCに追加されます。
調べられる順序としては、環境変数Perl5libが最初で、次に上記のレジストリという順になります。
コントロールパネルの「アプリケーションの追加と削除」でリストボックスからPerl for Win32を選択し、「追加と削除」をクリックします。
ActiveX Scriptingとは、マイクロソフト社の技術で、スクリプトエンジンとスクリプトホストから構成されます。 PerlScript、VBScript、JScriptなどのスクリプトエンジンはプログラミング言語で、 Windows Scripting Host、Microsoft Exchange、ASP(Active Server Pages)などのスクリプティングホストに埋め込むことができます。
はい、PerlScriptと呼ばれているものがあります。 Perl for Win32パッケージの1部で、インストール中にインストールするかどうか指定できます。
PerlScriptは、Microsoft Internet Explorer 4.0、Microsoft Exchange、Windows Scripting HostなどのActiveX Scripting Hostで使用することができます。
バッチ言語やQBASIC(Windows95やWindows NTに付属している16bitの BASICインタープリター)でプログラムすることもできますが、まっとうなプログラマーは、下記のような別のオプションを選択するでしょう。:
非常に多機能の言語で、オブジェクト指向プログラミング(OOP)、ネットワーキング、CGI、データベース、GUI プログラミングなどに広く使われています。 http://www.python.org/参照。
オブジェクト指向プログラミング(OOP)時代に対応した拡張版REXX。 http://www2.hursley.ibm.com/orexx/参照。
Tool Command Language。詳しくは、http://www.tclconsortium.orgを参照してください。
awkやUNIXのシェル言語は、いくつかのUNIX-to-NTパッケージで入手できます。 ( UNIXツールのWin32移植版はどこにあるのでしょうか? 参照) 4NT及び4DOSスクリプティングはシェルスクリプティング言語の中では人気が高いものです。(4DOSはWindows 95/98上でのコマンドシェル問題のいくつかを解決します。 また、ちょっとした機能もあり、NT上でもよりよくなります。)
Perl for Win32 は Win32 用のコマンドラインプログラムで、エクスプローラからではなく、コマンドラインから実行するようになっています。
Perlスクリプトを実行する場合、まずメモ帳のようなテキストエディタを 使ってスクリプトを記述します。最初は次のようなプログラムがよいでしょう。:
print "Hello, World!\n";
プログラムを(C:\temp\hello.plのような)ファイルに保存します。 それから、コマンドプロンプト の画面(よく間違ってDOS窓といわれているもの)を開いて、コマンド プロンプトから以下のように入力します。:
C:\> perl c:\temp\hello.pl
これでHello, World!という文字が画面に表示されるはずです。
うまくいかない場合、環境変数PATHをセットするか、perl.exeまでのフルパス名で入力してみてください。
perl.exeには、作業を簡単にしてくれる気の利いたコマンドライン引数がいろいろと揃っています。詳しくはperlrunドキュメントを参照してください。
では、コマンドラインからではなくエクスプローラーから perlを起動したときに何が起きているのか、という元の質問に答えることにしましょう。 エクスプローラーから起動するのは、コマンドライン引数を付けずに perlを起動するのとだいたい同じことです。コマンドラインでスクリプトファイルを 指定せずにperlを起動すると、Perlプログラムは標準入力(通常はキーボード)から入力されるものとみなされます。
点滅しているカーソルはperlが入力を待っていることを示しています。 実際に、ここでキーボードからPerlプログラムを入力することができます。 そのプログラムを実行させるには、(Windowsシステムでend-of-fileのマーカーとして働く)コントロール-Zを入力します。
perlとPerlスクリプトを関連付けるにはどうすればよいのでしょうか?も参照して下さい。
Win95/98では、AUTOEXEC.BATファイルに次のような行を追加します。
SET .PL=C:\PERL\BIN\PERL.EXE
これで、拡張子を付けずに、<スクリプト名>を入力するだけでスクリプトを実行できるようになります。 スクリプトのあるディレクトリとは別のディレクトリから実行する場合でも、スクリプトがパスの通っている所にあれば実行可能です。
但し、これは4DOSでのみ有効であることに注意して下さい。 COMMAND.COM、CMD32.EXE、CMD.EXEなどのシェルでは、やはり次のように入力する必要があります。
perl scriptname.pl <arg> <arg> <arg>
Perlソースコードには、Perlをビルドする際の指示がすべて含まれています。 最新のPerlソースコードの入手先:
http://www.perl.com/CPAN/src/latest.tar.gz
Perlのコンパイル時の指示については、ソースを解凍してREADME及びREADME.win32ファイルを読んで下さい。
Windowsでは、Win32コンパイラを使ってPerlをビルドするか、fork()などのUNIX機能のエミュレーションを提供する開発環境でビルドするかを選択することができます。 ネイティブのWin32コンパイラを使うと、 ODBC、ASP、ISAPI等のWin32APIと容易に連携できるようになります。 また、Win32ネイティブビルド版のPerl for Win32は広く利用されているので、その分テストもより多く行われていることになります。
他のWin32環境とうまく統合された開発ツールが必要な場合は、ネイティブなWin32でPerlをビルドする方を選択してください。 Win32上でUNIXの包括的エミュレーションを行う必要がある場合は、UNIXエミュレーションを提供する環境でビルドした方がよいでしょう。
かつては、ソースコードのUNIXismとPerl for Win32側の非互換性のために、Win32上ではモジュールやエクステンションの多くが動かないという時期がありました。 現在では(両陣営とも)状況は大きく変わり、大多数のモジュールはネイティブ版のPerl for Win32で動くようになっています。
Win32ネイティブでPerlをビルドする際は、次のようなCコンパイラが 使用できます。:
コンパイルツール、API、ツールのドキュメント、統合開発環境を含むマイクロソフト社のコンパイラ。
http://www.microsoft.com/visualc/
ボーランド社のC++には、Win32アプリケーションをビルドするための統合開発環境、コンパイルツール、ドキュメントが装備されています。
http://www.inprise.com/bcppbuilder/
GCCとEGCSは、どちらもWin32プラットフォームに移植されたフリーウェアで、高品質のコンパイラです。これらをフリーで利用できるMingw32と組み合わせて使うと、Perl及びエクステンションをビルドすることができます。 Mingw32ライブラリはCygwin32(下記を参照)用に開発されたコードをいくらか再利用しています。
EGCS/Mingw32バイナリの入手先:
ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/
GCC/Mingw32バイナリの入手先:
http://agnes.dida.physik.uni-essen.de/~janjaap/mingw32/
Cygwin32 toolchainを使うと、Win32上でUNIXの開発・実行環境をほぼ実現することができます。 これは膨大なGNUツールの移植版で、Win32にはない多くのUNIX機能を提供するエミュレーションAPIを含んでいます。:
http://www.cygnus.com/misc/gnu-win32
この FAQ は、元々Evangelo Prodromou evangelo@endcontsw.comが作成し、保守していたものです。 現在、この文書は、O'Reilly社のBrian Jepson及びActiveState社のDavid GroveとDavid Dmytryshynが改訂・更新しています。
このFAQはパブリックドメインですが、使用する場合はオリジナルの作者について明示してください。
| Win32 FAQ |