忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



2017/06/24 04:07 |
XAMPPにPerl5.12.4をインストール
XAMPPは主にApacheとPHP、MySQLがインストールされますが、PHP以外の言語を追加で使用することも可能です。
ここではPerlをインストールしてみます。

公式にはPerlはアドオンでどうたらとか書いてあるのですが、XAMPPのインストールディレクトリをよく見てみるとC:\xampp\perlなんてフォルダが最初からあったりします。

が、ここらへんのサイトを見ると、最初から入っているのは機能限定版みたいなものらしいです。
http://www.y2sunlight.com/ground/?XAMPP%2F5.Perl%A4%CE%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB
http://mizushima.ne.jp/Windows/XAMPP/XAMPP-setting.php
よくわかりませんが。
ということで新しいのを持ってきてみます。

前者のサイトではApache Friendsからアドオンをダウンロードとか書いてありますが、既にApache Friendsのサイトからアドオンをダウンロードすることはできなくなっています。

一応SourceForgeにXAMPPアドオンのPerlがあるのですが、最終更新が2009年で古いです。

執筆時点でのActivePerl最新版、5.12.4を拾ってきます。

拾ってきた.msiを起動してインストール。
特に指定しないとC:\Perlにインストールされます。
このパスは例の
#!/usr/bin/perl
という呪文になるところです。

環境変数$PATHは勝手に追加されるはずですが、もし追加されてなかったら
C:\Perl\bin
を追加。

インストールが完了したら実験。
コマンドラインから'perl -v'
でバージョンが確認できます。

C:\>perl -e 'print "Hello, World!\n"'
Can't find string terminator "'" anywhere before EOF at -e line 1.

あるぇー?

C:\>perl -e "print \"Hello, World!\n\""
Hello, World!
C:\>perl -e "print qq[Hello, World!\n];"
Hello, World!

どうやらダブルクオーテーションで囲まないといけないらしい。

コマンドラインからperlの動作が確認できたところでXAMPPと連携させます。

実は最近のXAMPPは、なにげにしれっと最初からapache\conf\extra\httpd-perl.confでPerlが使用できるように設定されています。
いやまあ、ここまでインストールしたところで気がついたんですが。
ということで他サイトでは「Perlの実行環境を追加する」という紹介が多いのですが、ここでは「デフォルトのPerlを無効化する」が必要です。

httpd.confに
# Perl settings
Include "conf/extra/httpd-perl.conf"

と書かれているのでこの行をコメントアウトします。

AddHandler cgi-script .cgi .pl
は何処かに書かれているはずですが、無ければ追加します。

Apacheの再起動後、以下のスクリプトをDocumentRootに配置し、ブラウザから閲覧。

index.pl
#!/perl/bin/perl
print "Content-type: text/html; charset=utf-8\n\n";
print "てすと";

めでたくXAMPPでActivePerlを動作させることができました。

なお、1行目のパスを変更すると動作しなくなることを確認しておきましょう。
変更しても動作してしまう場合、最初から入ってるPerlが無効になっていません。


動作確認が取れたら、CPANからモジュールを拾っておきます。
CPANはPHPで言うPear的なもので、便利なライブラリが揃っていますというかPerlでWebアプリを作るにはほぼ必須です。
なにしろ素のPerlじゃ文字コード変換すらできんからな!

XAMPPデフォルトのPerlからActivePerlに変えた利点のひとつがこれで、PerlPackageManager(ppm)から簡単にモジュールを追加できます。
依存関係があればそこらへんも自動でやってくれます。
とりあえず古いパッケージを片端からアップデートしてしまいましょう。
あとCGI.pm、DBD::mysql、CGI-Session、GDあたりが入ってなければ追加しておきます。

ppm自体はGUIから使ってもいいし、コマンドラインから
ppm install Crypt-DSA
でもかまいません。
なんて楽ちん。
PR


2011/12/02 22:30 | Comments(0) | TrackBack(0) | その他

トラックバック

トラックバックURL:

コメント

コメントを投稿する






Vodafone絵文字 i-mode絵文字 Ezweb絵文字 (絵文字)



<<Minecraft 1.8.1 IndustrialCraft2 アドオン紹介 ソーラーヘルメット、電動釣り竿、ツリータップ | HOME | Minecraft 1.8.1 IndustrialCraft2+BuildCraft 自動精製装置を改良する>>
忍者ブログ[PR]