WindowsでActivePerlを使っています。現在Perl5.8を入れていますが
後からPerl5.6を入れて、Perl5.6を優先的に使いたいのですが
Perl5.8とPerl5.6の共存は可能でしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (2件)

おいらのやり方  基本的には#1さんのと同じですが


E:ドライブにApacheなども入れているので
Perl5.6を e:\usr\binに、Perl5.8をE:\usr\local\bin にいれます。
ApacheとPerlを同じドライブに入れれば .cgiとして使うときにshebang文を
#! /usr/bin/perl と記述することが出来ます。

1.Perlのインストール前に e:\usr その下に\localというフォルダを作っておきます。
2. Perl5.8インストール時 Choose Setup Typeのところで Customを選びます
3.次の画面で [Browse ]ボタンを押して e:\usr\localを指定します。<=e:\usr\local\binでは有りません
4. NEXTを押してインストールを続けます

次に5.6のインストール
5. Perl5.8と同じようにしてpathを今度は e:\usr を指定します

両方インストールが終わったらOSの環境変数pathで
perl5.6のあるe:\usr\binを5.8のあるe:\usr\local\binよりも上位にします
pathの設定方法は
http://www.gihyo.co.jp/book/2000/179111/download … を参考に
;で複数のエントリーを記述している場合、例えばpathの記述が
c:\windows;c:\windows\command;e:\usr\local\bin;e:\usr\bin なら
c:\windows;c:\windows\command;e:\usr\bin;e:\usr\local\bin にするか#1さんの言う様にe:\usr\local\binを消します

WIN98などで autoexec.batに
PATH C:\windows;C:\windows\command
PATH %PATH%;e:\usr\local\bin
PATH %PATH%;e:\usr\bin   <=この場合はこの行を上に変更
http://www.hir-net.com/soft/doc/install.html
 (WIN95/98では再起動後に有効になります)

うまくいったか確認はコマンドラインで
c:\hoge> perl -v (perl -V だともっと詳しい情報が表示される)
    • good
    • 0

perl5.6インストール時に、保存するフォルダ名をを本来は C:\Perl のところを、 C:\Perl5.6 としてインストールし、


その後pathの一覧から C:\perl5.8\bin を削除。

この方法で、私はperl5.8とjperlを共存させたつもりになって使っています。

perl5.8実行時は、 "C:\perl5.8\bin\perl プログラム名.pl"のコマンドで実行
perl5.6実行時は、"perl プログラム名.pl"のコマンドで実行
するようにすればうまくいくと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QPerlモジュールインストール tarボール? 5.6 5.8 それぞれ?

WindowsのPerl5.6とPerl5.8を入れております。

最初Perl5.6を c:\usrに入れ
次にPerl5.8を c:\usr\localに入れました。

コマンドプロンプトでperl -vとすると 5.8が動作していました。

webのローカルテスト用に 5.6, 5.8の環境を作成したいのですが
ppmでモジュールをインストールする場合は、それぞれのppmを動かせば
バージョンを間違えることなく、Perlモジュールがインストールされていますが、
CPANから取得したtar(圧縮されたソース)を展開して、
perl Makefile.PL
nmake
nmake test
nmake install
した場合に、最後にインストールした5.8のPerlにモジュールがインストールされるのでしょうか?

ppmは問題ないと見ましたが、手動インストールの場合、
5.6, 5.8を指定してインストールすることは可能でしょうか?
スマートな解決方法はありますか?(出来るだけ簡単に運用したいので)

Aベストアンサー

コマンドプロンプトで
perldoc ExtUtils::MakeMaker

とすればヒントが書かれてる気がします。
インストール先を選べそうです。

英語なのでよめません・・

QVineLinux2.6でPerl5.6.13から Perl5.8にするには

VineLinux2.6でPerl5.6を使っています。
apt-get upgrade perlで簡単にアップグレードできると思っていましたが、Perl 5.6.13にアップグレードしただけで、5.8までできませんでした。rpm -eでアンインストールしてから行おうとしましたが、たくさん依存関係がでました。また、ActivePerl5.8用のrpmも存在していますが、これを単に rpm -Uvhでインストールしても
依存関係で問題ないでしょうか?

Aベストアンサー

Vine Linux 2.6 標準のperlに対してActivePerl5.8をアップグレードできるのかな・・・・? 先に「-i」でActivePerlを入れてようとしてみてはどうだろうか。

perl5.6を先に消したいのであれば、依存関係にあるパッケージを全て削除する必要があるが、例えばApacheの設定ツールなど、Perlに依存したツール類は結構多いので、依存関係を無視して削除した方が良いかも知れない。後でperl5.8でもそれらは動くと思われるし。

Vine標準のPerlの依存関係が山ほど出てくるのは、先述のツール類が多いが、後でperl5.8を入れるつもりならばあまり心配はないように思う。多分。

QPerl5.8のlength関数で文字数でなくて、バイト数は可能でしょうか?

Perl5.8を使っています。

use utf8;
print length("あaいi");

は,4という結果になります。
今回、utf8のままで、「あ」「い」は2バイトなので、6バイトという
値を取得したいのですが可能でしょうか?

Aベストアンサー

print length(Encode::encode('cp932', "あaいi"));
なんてのをむかし書きました。

QActivePerl-5.8.2.808-MSWin32-x86.msi

を使っていますが今の最新バージョンと
入手方法を教えてください

Aベストアンサー

最新は5.8.4.810らしいです。

入手先
http://www.activestate.com/Products/ActivePerl/

の「DOWNLOAD」をクリックすしてレジストすればOKだと思います。

参考URL:http://www.activestate.com/Products/ActivePerl/

QEncode.pmというモジュールをPerl5.6でも使いたい

Perl5.8からEncodeというモジュールが標準装備されるそうですが、Perl5.6で使い続けなければいけませんので、5.6のバージョンのままで、Encodeモジュールは使えるのでしょうか?

どこかで、Encode.pmのモジュールをダウンロードして
perl Makefile.PL
make
make test
make install
で、うまくいのでしょうか?

Aベストアンサー

無理です。
EncodeはPerl5.8以降の仕様に依存しているため、それ以前の古いPerlで使うことはできません。


おすすめ情報