人に聞けない痔の悩み、これでスッキリ >>

今私のPCではActivePerl5.6.1.638を使っているのですが、PPMを使って調べてみるとRegexp-Assembleが入っていないみたいなので、最新のActivePerlを入れたいと思っています。
何も考えずにそのまま上書きインストールすればいいんでしょうか?

A 回答 (3件)

メジャーバージョンが違うものを同じディレクトリに入れてはダメです。


バイナリ互換性がないので、使うライブラリによっては問題を引き起こす場合があります。

インストーラでチェックしていたかもしれませんけど。

それから、最新というと 5.10.x ベースのものになると思いますが、
PPMの充実度でいうと 5.8.x の方がまだ高いのでその辺注意した方が良いと思います。
    • good
    • 1
この回答へのお礼

>メジャーバージョンが違うものを同じディレクトリに入れてはダメです。
同じディレクトリに入れないためにはどうしたらいいんでしょうか?

お礼日時:2008/11/19 03:32

違うフォルダにインストールすれば共存可能です。


インストーラのはじめの頃にインストールフォルダを選ぶ画面がありますのでそこで設定できます。

インストール時にPATHや拡張子の関連付け、IISの関連づけの選択がありますので古いバージョンをメインに使うのであればチェックボックスをはずせばOKです。

WebサーバーがIISの場合、設定はインストール時にチェックボックスをはずせば上書きされません。(チェックしたままだと新たにインストールしたもので上書きされる)インストール後、ディレクトリごとにどのバージョンのPerlを使うか設定することも出来ます。
    • good
    • 0

一度アンインストールしないとプログラムの追加と削除にActivePerlがどんどん増えていきますよ

    • good
    • 0
この回答へのお礼

なるほど消した方がいいんですか。
となると、新しくインストールし直した後に、これまでローカルで動いていたCGIが動かなくなるなんてことはないですよね?

お礼日時:2008/11/19 03:36

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

このQ&Aを見た人が検索しているワード

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

QActivePerlの旧バージョンのダウンロード方法

お世話になります。

perlを動かすためのActivePerlというソフトの旧バージョンを探しています。
探しているのはWindows版の、
・ActivePerl-5.8.8.819
・ActivePerl-5.8.8.820
・ActivePerl-5.8.8.821
・ActivePerl-5.8.8.822
のものです。
どれか一つで構いません。

調べたところ、公式ページからダウンロードできていたみたいなのですが、ページの構成が変わってしまったため見つけることができません。
入手できる場所や方法のお分かりになる方がいらっしゃいましたら教えていただけると大変助かります。
よろしくお願いいたします。

Aベストアンサー

http://www.oldapps.com/Perl.php

でダウンロードできませんか?

Qppmのリポジトリの場所

GD::SecurityImage::AC
Image::Magick

上記のモジュールをactive_perlのppmでインストールしたいのですが、リポジトリがなかなか見つかりません。リポジトリ の場所をご存じでしたら教えていただけませんでしょうか。よろしくお願いいたします。
動作環境と登録済のリポジトリは以下です。
ちなみにppmはGUIを使っています。

os : windows8.1
perl : active_perl 5.16.3
登録済のリポジトリ  :
http://www.bribes.org/perl/ppm
http://www.bribes.org/perl/ppm/package.xml
http://log4perl.sourceforge.net/ppm
http://trouchelle.com/ppm10/
http://cpan.uwinnipeg.ca/PPMPackages/10xx/
http://www.wxperl.co.uk/repository/ansi
http://www.wxperl.co.uk/repository
http://ftp.nara.wide.ad.jp/pub/CPAN/authors/id/H/HM/HMBRAND/
です。
宜しくお願い致します。

GD::SecurityImage::AC
Image::Magick

上記のモジュールをactive_perlのppmでインストールしたいのですが、リポジトリがなかなか見つかりません。リポジトリ の場所をご存じでしたら教えていただけませんでしょうか。よろしくお願いいたします。
動作環境と登録済のリポジトリは以下です。
ちなみにppmはGUIを使っています。

os : windows8.1
perl : active_perl 5.16.3
登録済のリポジトリ  :
http://www.bribes.org/perl/ppm
http://www.bribes.org/perl/ppm/package.xml
http://log4perl.sourceforge.net...続きを読む

Aベストアンサー

http://www.bribes.org/perl/ppm のリストを見ると
GD-SecurityImage-AC.ppd, Image-Magick.ppd が存在するのでインストール可能だと思えます。
実際に自分の環境でやってみましたが、どちらも ppm(GUI経由) でインストールできましたよ。

環境 Win7(64bit) Active-perl(32bit)
This is perl 5, version 16, subversion 3 (v5.16.3) built for MSWin32-x86-multi-thread

GD-SecurityImage-AC.ppd をみると
<ARCHITECTURE NAME="MSWin32-x86-multi-thread-5.16>
とあるので AcrivePerl の64bit バージョンだとはじかれている可能性もあり得ます。

Q数値かどうかの判定方法

$aに代入されているものが数値かどうかを判定するにはどのようにしたらよいのでしょうか?

Aベストアンサー

$a =~ /^[0-9]*$/
上記の場合、*は「直前のパターンの0回以上の繰り返し」の意味なので、0から9がなくても、つまり$aが空でもマッチしてしまいます。
なので、
$a =~ /^[0-9]+$/
としましょう。
(+は「直前のパターンの1回以上の繰り返し」)
また、0-9は\dで表すこともできるので
$a =~ /^\d+$/
と書くこともできます。

QActivePerl付属のPPMでモジュールのインストールができない

今回ActivePerl 5.8.6.811を使いまして、PPMにてモジュールの追加を
行いましたが、うまくいきません。

具体的にはモジュールをインストールする際、
ppm> install time-hires
Error: No valid repositories:
Error: 500 Can't connect to ppm.ActiveState.com:80 (connect: Unknown error)
Error: 500 Can't connect to ppm.ActiveState.com:80 (connect: Unknown error)
となり、レポジトリーを疑ったところ、
ppm> rep
Repositories:
[1] ActiveState PPM2 Repository
[2] ActiveState Package Repository
ppm> rep describe 1
Warning: 500 Can't connect to ppm.ActiveState.com:80 (connect: Unknown error)
Describing Active Repository 1:
Name: ActiveState PPM2 Repository
Location:
http://ppm.ActiveState.com/cgibin/PPM/ppmserver-5.8-windows.pl?urn:/PPMServer
Type: unsupported
ppm> rep describe 2
Warning: 500 Can't connect to ppm.ActiveState.com:80 (connect: Unknown error)
Describing Active Repository 2:
Name: ActiveState Package Repository
Location:
http://ppm.ActiveState.com/PPM/ppmserver-5.8-windows.plex?urn:/PPM/Server/SQL
Type: unsupported
となってしまいます。また、ルーターのログから外部にアクセスした形跡もないようです。

調べていて、このような場合は「パスが通っていない」と言われますが、
今回のケースもパスが通っていないのでしょうか?
初心者であることは免罪符になるとは思っていませんが、
皆様のお力をお借りしたいです。

私の環境は
OS:win2000 Pro(SP4) CPU:Athron1.4G
使用ソフト:ActivePerl 5.8.6.811 PPM3.1(付属のもの)
です。長文で読みにくくて申し訳ありませんが、よろしくお願いしますm(_ _)m

今回ActivePerl 5.8.6.811を使いまして、PPMにてモジュールの追加を
行いましたが、うまくいきません。

具体的にはモジュールをインストールする際、
ppm> install time-hires
Error: No valid repositories:
Error: 500 Can't connect to ppm.ActiveState.com:80 (connect: Unknown error)
Error: 500 Can't connect to ppm.ActiveState.com:80 (connect: Unknown error)
となり、レポジトリーを疑ったところ、
ppm> rep
Repositories:
[1] ActiveState PPM2 Repository
[2] ActiveState Package Re...続きを読む

Aベストアンサー

オンラインインストールするとプロキシーなどの問題がありますが、
ローカルインストールに変えれば問題が解決します。

まず
http://ppm.activestate.com/PPMPackages/zips/8xx-builds-only/Windows/Time-HiRes-1.49.zip
をダウンロードして下さい。

ダウンロードしたモノを、ディレクトリ付きで展開して下さい。

展開先のディレクトリにhogehoge.ppdというのがあるので、そこをカレントディレクトリにして
ppm install hogehoge.ppd
とコマンド入力して下さい。

それでインストールできるはずです。

Q同一筐体におけるPerlの複数バージョンは共存できますか?

■はじめに
Perlについて初心者(これから勉強するレベル)ですが、以下、
ご教示程宜しくお願いします。
(現在、サイト等で調査しておりますが、わかっていません。
ここをみてくださいといったサイト(URL)のご紹介でも結構です。)
■質問
(1)UNIXマシン上でOSバンドルのPerlがありますが、
   これとは別のバージョン(上位)をインストールしたいのですが
   まず、このようなこと(同一筐体で複数のPerlを共存させること)はできますでしょうか?
  →Perl・CGIのアプリケーション毎に見るライブラリを
   Perl5.8.0だったり、5.8.3だったりスクリプト上の定義を
  変えるといった対応?

(2)(1)ができる場合、そのインストール~設定・確認手順
  についてご教示願います。

(3)(1)ができる場合、逆に、1つのUNIXサーバに複数のPerl
  があるかどうかを確認する方法を教えてください。

  >Perl -v で行うと、1つしか出ない。
  これは
   (1)本当に1つのバージョンしか存在しない
   (2)複数存在するが、バージョンアップした現在のバージョンが
    表示されている
  の(2)も考えられます。
  そこで、旧バージョン(バージョンアップ前に入っていた
  Perlのバージョンを確認することはできませんか?)

  コマンドベースで教えていただけると助かります。

以上です。

■はじめに
Perlについて初心者(これから勉強するレベル)ですが、以下、
ご教示程宜しくお願いします。
(現在、サイト等で調査しておりますが、わかっていません。
ここをみてくださいといったサイト(URL)のご紹介でも結構です。)
■質問
(1)UNIXマシン上でOSバンドルのPerlがありますが、
   これとは別のバージョン(上位)をインストールしたいのですが
   まず、このようなこと(同一筐体で複数のPerlを共存させること)はできますでしょうか?
  →Perl・CGIのアプリケーショ...続きを読む

Aベストアンサー

>perlソース(5.8.0)のダウンロードを行おうとしています。
>OSはHP-UXのため、HPのサイトを見ているのですが対象
>バージョンのソースが見当たりません。
>(OSにバンドルされているものは、公開されていないのでしょうか?)

えーと・・・
ソースをコンパイルするという意味を理解されていますが?
ソースというのはバイナリにする以前のもので、この時点でHP-UX用とかSolaris用とかLinux用という区別はありません。なのでどこから落としてもいいですが、普通はメーカーのサイトには置いてありません。
もし置いてあったとしても、それはその環境用にコンパイルされたバイナリ(もしくはsrpm)でしょうし、HP-UXのような商用OSの場合はサポート契約した人しかダウンロードできないところにあるのではないでしょうか(HP-UXを使ったことがないので不明)。
またOSバンドルされていた旧バージョンのバイナリが手に入ったとしても、おそらく今のより新しいバージョンと同じディレクトリにインストールしようとすると思うので共存は出来ないかもしれません。だから「ソースからコンパイル」するのです。

たぶんこれからの作業でいろいろ問題が起きると思いますが、ネットで検索するスキルを身につけてないと大変ですよ。

一応ダウンロードできるサイトの「一例」を書いておきます。
http://search.cpan.org/~jhi/perl-5.8.0/

>perlソース(5.8.0)のダウンロードを行おうとしています。
>OSはHP-UXのため、HPのサイトを見ているのですが対象
>バージョンのソースが見当たりません。
>(OSにバンドルされているものは、公開されていないのでしょうか?)

えーと・・・
ソースをコンパイルするという意味を理解されていますが?
ソースというのはバイナリにする以前のもので、この時点でHP-UX用とかSolaris用とかLinux用という区別はありません。なのでどこから落としてもいいですが、普通はメーカーのサイトには置いてありません。
...続きを読む

QPerlで特定行から特定行までを抜き出したい

皆さんのお知恵をお貸し頂ければ幸いです。

Perlで以下のようなことをしたいと考えています。
例えば、次のようなテキストファイルがあったとします。

example.log
==================================
aaaa
hogehoge
test
okok
perl
script
==================================

上記ファイルを読み込んで、「hogehoge」から「perl」の間に挟まれた行だけ抜き出したいのです。
イメージとしては、読み込んだファイルを配列に入れて、一行づつ読ませ、キーワード「hogehoge」が現れたらそこでフラグを立て、それ以降の行を表示し、キーワード「perl」が現れた時点で表示を止めるという処理になるのかな?と思っています。

このような場合、どういう風にすればいいのでしょうか?
恐れ入りますが、ご教授頂ければ幸いです。

それでは、どうぞよろしくお願い致します。

Aベストアンサー

> 一行づつ読ませ、キーワード「hogehoge」が現れたらそこでフラグを立て、それ以降の行を表示し、キーワード「perl」が現れた時点で表示を止めるという処理になるのかな?と思っています。

それでいいと思いますよ?これをそのままコード化すると、こんな感じでしょうか。(No.1さんのとはちょっと結果が違います。)

open FH, "example.log" or die $!;
$flag = 0;
while ($data = <FH>) {
  chomp $data;
  if  ($data eq "hogehoge") { $flag = 1 }
  elsif ($data eq "perl")    { $flag = 0 }
  elsif ($flag) { print "$data\n" }
}
close FH;

で、もっと略したいPerlな人だとこんな感じ。Perl独特の記法がふんだんに使われているので、勉強するには不向きかもしれませんが^^;

open FH, "example.log" or die $!;
while (<FH>) {
  print if /^hogehoge$/ .. /^perl$/ and !/^(?:hogehoge|perl)$/;
}
close FH;

※インデントに全角空白を使っているので、コピーする場合はタブなどに置換して下さい。

> 一行づつ読ませ、キーワード「hogehoge」が現れたらそこでフラグを立て、それ以降の行を表示し、キーワード「perl」が現れた時点で表示を止めるという処理になるのかな?と思っています。

それでいいと思いますよ?これをそのままコード化すると、こんな感じでしょうか。(No.1さんのとはちょっと結果が違います。)

open FH, "example.log" or die $!;
$flag = 0;
while ($data = <FH>) {
  chomp $data;
  if  ($data eq "hogehoge") { $flag = 1 }
  elsif ($data eq "perl")    { $fl...続きを読む

Q皆さんは、LinuxでPerlのバージョンアップはどのようにしていますか?

VineLinux 2.6?で Perl5.6.1を使っております。
最初 VineLinux2.5でしたがアップデートして2.6?になっております。

最近、Perl5.8系を使う必要がでてきた為、Perl5.6から Perl5.8に
アップグレードしたいのですが、
運用に支障きたさず、スマートにアップグレードできる方法はあるのでしょうか?

VineLinux3の場合は Perl5.8?が入っている?ので
新規OSインストールすれば、素直ですが 設定に時間がかかるので、
サーバー環境はそのままで、Perl5.8だけアップフレードしたいです。

rpm -qa | grep perlの結果

postgresql-perl-7.2.3-0vl3
groff-perl-1.17.2-0vl4
openssl-perl-0.9.6m-0vl0.26
perl-GD-1.38-1
perl-File-MMagic-1.12-0vl3
perl-Net_SSLeay-1.13-0vl1
perl-SGMLSpm-1.03ii-4vl1
perl-DBI-1.21-0vl1
perl-5.6.1-0vl13

何やらいっぱい出てきて、このあたりの依存関係も注意?かなと
ビクビクしております。


あと、5.6系で、使っていたPerlモジュールも5.8ではもう一度インストールする必要が
出てくると思いますが、5.6系のモジュールを全て表示させるツールはあるのでしょうか?

uname -a
Linux ホスト名 2.4.19-0vl26 #2 2003年 1月 22日 水曜日 03:10:41 JST i686 unknown

Vine Linux 2.6r4 (La Fleur de Bouard)
Kernel 2.4.19-0vl26 on an i686

VineLinux 2.6?で Perl5.6.1を使っております。
最初 VineLinux2.5でしたがアップデートして2.6?になっております。

最近、Perl5.8系を使う必要がでてきた為、Perl5.6から Perl5.8に
アップグレードしたいのですが、
運用に支障きたさず、スマートにアップグレードできる方法はあるのでしょうか?

VineLinux3の場合は Perl5.8?が入っている?ので
新規OSインストールすれば、素直ですが 設定に時間がかかるので、
サーバー環境はそのままで、Perl5.8だけアップフレードしたいです。

rpm -qa | grep...続きを読む

Aベストアンサー

>1) /usr/local/srcにソースを入れて、そこからmakeすれば、勝手に /usr/local/binに5.8のperlが
>入るということでしょうか?

make場所はどこでもいいですが、configure時のprefixに/usr/local/binを答えてください。
(具体的なmake方法はgoogleへ「perl make configure prefix」とか投げてみてください)

>2) 5.6のperlは which perlで調べた所、 /usr/bin/perlと表示されました。
> perlは基本的に/usr/binに存在するものと言うことでしょうか?

そうです。
(数年前までは/usr/local/bin/にあることも珍しくなかったですが)

>3) CGIとして用いておりますが、今まで #!/usr/bin/perlとしていた所を、 #!/usr/local/bin/perl
>にすれば、5.8が動作するということでしょうか?

そうです。

>4) コマンドラインでperlとすると /usr/binのperl 5.6が動作し、 /usr/local/bin/perlで5.8が動くということでしょうか?
>which perl で /usr/local/bin/perlとなると心配なので。

設定しだいですが、大抵問題ないはずです。
(which perlは5.6系になるはず)
もし不安な場合、/usr/local/perl/とかを作成して、そこへinstallすれば、which perlで5.8系が優先されることはないでしょう。
(検証目的で、そのうち消すなら、むしろこっちの方がいいかも)

>1) /usr/local/srcにソースを入れて、そこからmakeすれば、勝手に /usr/local/binに5.8のperlが
>入るということでしょうか?

make場所はどこでもいいですが、configure時のprefixに/usr/local/binを答えてください。
(具体的なmake方法はgoogleへ「perl make configure prefix」とか投げてみてください)

>2) 5.6のperlは which perlで調べた所、 /usr/bin/perlと表示されました。
> perlは基本的に/usr/binに存在するものと言うことでしょうか?

そうです。
(数年前までは/usr/local/bin/にある...続きを読む

Q文字列として"(ダブルコーテーション)を表示させる方法

こんにちは。文字列として、ダブルコーテーションを表示させるには、どうすればよいのか教えてください。m(__)m


例えば、
<font size="2">あいうえお</font>

というタグの「あいうえお」の部分が、セルA1にあった場合、

="<font size="2">"&A1&"</font>"という表示にしたいのです。

"2"のダブルコーテーションも文字列として表示させるには、どうすればよろしいのでしょうか。

教えてください。よろしくお願い致します。

Aベストアンサー

こんにちは~

表示形式は 「標準」 のままで、
ダブルコーテーションを、ダブルコーテーションで囲んでください。

""2""

="<font size=""2"">"&A1&"</font>"

としてみてください。

QCPANでインストールしたモジュールの削除方法

CPANであるモジュールをインストールしたのですが見当違いのモジュールでした。
削除しなければならず色々調べてみたのですがインストール方法しか見つからず削除方法がわかりません。

どなたかわかる方教えてください。

Aベストアンサー

がると申します。
uninstallは、install方法次第ではあるのですが。
もしcpanコマンド使ってであるとすると、それは実際にはMakefileでのコンパイル&installになります。
で。
make install系の、これは最大の欠点といわれているのですが。「自力で手動で探し出す以外に削除手段はない」です。
# rpm系の唯一にして最大の利点がココの部分の解消ですね。

cpanでのinstallですと、どこか(多分 /root あたり)に.cpan/build/というディレクトリがありまして、その下にソースが展開されているので。
ソースはそこから。.soファイルは…Makefile解析するか、findあたりで探すか、で削除するしかないです。
確か、メジャーなcpanのMakefileはそんなにお行儀悪くないので、そうあちこちには散らかしてないと思うのですが…。

また不明な点などあったら追加で質問していただければ。

QIIS環境にてJAVAを使用したいのでご教授下さい!

こんにちわ。

WEBサーバーにてJAVAを使用したいのですがIIS
がインストールされているので通常の一般的なPCに行うTomcatの設定とは異なるのでしょうか?

同じポート番号での共存は可能でしょうか?


色々調べてみましたが全く分からないので困っています。
理解できていないので説明が分かりづらいかとは思いますが
ご教授下さい!お願いします。

Aベストアンサー

>同じポート番号
No.1回答者様が仰っている様に別プロセスで同じポートは同時に使えない。
よって同時に同じポートでのサービス起動は不可。

WEBサーバ IIS
APサーバ Tomcat
の構成なら参考URLを。
「Tomcat IIS 連携」
でぐぐると他にも参考サイトが大量にひっかかります。

参考URL:http://www.nihon-eng.co.jp/c-break/TechNote/tomcat/TCAT55_HTTP_SVR.htm


人気Q&Aランキング