skillup

技術ブログ

Perl

perlの環境構築(windows)

投稿日:2015年12月3日 更新日:

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

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

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

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

Perlの環境構築Strawberryperl

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

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

http://strawberryperl.com/

参考リンク

XAMPP で Perl の CPAN を導入する方法

実行パスの設定

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の例ですが原理は一緒です。)

WindowsのXAMPPでcgi(perl)をパスを/usr/bin/perlのまま動かす方法

Apacheの設定

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

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

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

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

などが起こります。

拡張子とMIMEタイプ

参考リンク

CGIを有効にする

おまけ

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

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

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

参考リンク

MinGW – Minimalist GNU for Windows

MinGW(gcc) の Windows へのインストールと使い方

Image::Magickのインストール

-Perl
-

執筆者:


comment

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

関連記事

no image

Perlの配列、ハッシュ系の処理(grepを中心に)

Perlの配列やハッシュで便利そうな処理をgrepを中心にいろいろ調べてみました。 Contents1 grepとは?2 grepを使った配列処理 基本3 grepを使った配列処理 ハッシュを含む多次 …

no image

Perlでの日付処理

Perlで翌月の月末を求め、yyyyMMddで表示する計算があったので対応。 知識がなかったんで何気にちょい時間がかかりました。PerlではこのDateTimeというライブラリがよさげ。 [crayo …

no image

Perlの文字コードに関して その2

前回のエントリーでPerlで文字列を扱う場合は内部文字列に変換しなくてはいけないことを学びました。 Contents1 内部文字列を使うわけ2 文字コードの変換 内部文字列を使うわけ ところで何のため …

no image

Perlでの配列処理

最近Perlでの開発をやっているのでそこでのメモなどを書きます。 今まであまりやったことがなかったんですけど、やはり文字列や配列関連の処理をどうやるのかでいろいろと迷ったりします。 が、もともとテキス …

no image

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

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

アーカイブ