skillup

技術ブログ

Perl

perlの環境構築(windows)

投稿日:

先日まではJava案件がメインだったのですが、Perlの案件があり、これに取り組むことに。

で、とりあえずローカルに環境を構築しようと思いましたが、こがすげー大変でした。

PerlってCPANってライブラリ集みたいなものがあるんですけどバージョンが違ってうごかなかったり、そもそもwindowsで動かしている情報があんまないんですよね・・・

結局あきらめてvagrantで仮想環境を構築したんですけど、windowsで環境構築する人の助けになることもあるとおもい、メモします。

Perlの環境構築Strawberryperl

まずはPerl自体の環境構築ですね。xamppが入って入ればperl自体は動くんですけど、前述したcpanが入らなかったりといろいろとトラブルが多いため、下記リンクのStrawberryperlを入れたほうがいいでしょうね。

ActivePerlが以前は有名だったようですが、今ではこちらのほうが使えるということでPerlをWindowsで使う方はこちらを選択肢に入れておいたほうが良いでしょう。

http://strawberryperl.com/

参考リンク

http://snufkin.jp.land.to/notes/cpan.html

http://www.nwt.jp/document/strawberryperl.php

実行パスの設定

Perlではプログラムの一番上にPerlの実行プログラムを記述します。

Linuxでは#!usr/bin/perlと記述しますが、

windowsの場合!C:\strawberry\perl\bin\perlになります。

が、これをいちいち書き換えていては大変です。設定ファイルに記述することもできないですし。

そこでwindowsでもusr/bin/perlでOKなようにシンボリックリンクを活用します。

/usrがC:\strawberry\perlに相当すればいいわけです。

管理者権限でコマンドプロンプトを実行し(C:\Windows\System32\cmd.exeを右クリックで「管理者を実行」を選びます。)、下記を記述すればOKです。

参考リンク(xamppの例ですが原理は一緒です。)

http://ninnin.in/diary/windows-xampp-cgi-perl%E3%82%92%E3%83%91%E3%82%B9%E3%82%92usrbinperl%E3%81%AE%E3%81%BE%E3%81%BE%E5%8B%95%E3%81%8B%E3%81%99%E6%96%B9%E6%B3%95/

Apacheの設定

他にcgiを実行するためにhttpd.confを編集します。

cgi-binのディレクトリ以下の設定を下記のように書き換えましょう。

上記の設定が書かれていないと、

  • 画面にソースそのものが表示されてしまう
  • 画像やcssなどが読み込まれない
  • 500エラーが表示される

などが起こります。

http://www.tohoho-web.com/wwwxx015.htm

参考リンク

http://www.be-webdesigner.com/technotes/server/httpd_conf/cgi.htm

おまけ

ここまでやったんですが、いろいろとあって結局windowsでの環境構築はあきらめました(汗)

Perlのインストールとは直接関係ないですが、cpanのコンパイルをしようと思い、MinGWというコンパイラをwindowsにインストールしました。

結局、今回はこれで問題は解決しなかったのですが、windowsでLinuxコマンドが使えるようになり、何気に役立っています。

参考リンク

http://sourceforge.net/projects/mingw/postdownload?source=dlp

http://yohshiy.blog.fc2.com/blog-entry-292.html

http://www.km92.net/knowledge/2015/150305_000088.html

-Perl
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

大容量データの取り込みについて

普段プログラムを組むときには可読性や保守性が大事なポイントになりますが、それと同じぐらい速度やメモリ効率なんかも大事です。 今回は少ないメモリでもなんとかできるような工夫をちょっとかいていこうかなと思 …

no image

Perlでの動的改行コード読み込みに関して+cp932ネタ

本日はperlにて改行コードを動的に読み込む方法です。 Contents1 動的な改行コードの判定・読み込み2 ShitfJISとcp932について 動的な改行コードの判定・読み込み 実務で古いMAC …

no image

Perlの文字コードについて その3

実際のPerlでの文字処理に関しては以前の記事でも書いたように下記の原則を守ればOKです。  原則1 外部から入力された文字列はデコードして内部文字列に変換する  原則2 外部へ出力する文字列はエンコ …

no image

PerlでのCSV取込+金額のカンマ表示

CSV取込の場合、単純にカンマで区切って配列を取得するだけのロジックを実装すると様々な弊害が起きます。 よく見られるパターンとしては下記のようなケースでしょう。 フィールドの中に、カンマがあった場合、 …

no image

Basic認証のあるページの情報の取得

ひさびさにPHPネタです。 PHPではWEBページを保存するときにfile_get_contents(url)と書いてあげるとHTMLデータを取得できます。 が、Basic認証などのページは当然fal …