• ベストアンサー

Active perlとPerl for Win32どっちがいいですか?

学校では PerlはMS-DOSでテストしてました。 教科書では1998年初版発行で、やはりPerl for Win32を入手しなさいと書いてあります。   しかし下のサイトではActive Perlは早いし進化してるから、いまさらWin32は・・ と語っていました。 どちらを入手して使った方がよろしいでしょうか? 両方入手して併用することもできるのでしょうか? どうかいろいろと教えてください。 http://homepage1.nifty.com/yito/namazu/gbook/20000612.1211.html

  • Perl
  • 回答数2
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • hiro_ayu
  • ベストアンサー率50% (2/4)
回答No.1

最初ほんのちょっとだけWin32を使いましたが、モジュールのインストールが不便でした。 UNIX系のOSの時はモジュールソースをダウンロードしてコンパイル&インストールでモジュールが使えるようになります。 でも、Windowsでコンパイル&インストールというのは至難の業です。(僕には) ActivePerlではモジュールをすでにいろいろコンパイルして用意してくれているので、助かってます。 ちなみに、Win32のある環境にActivePerlをインストールするときに、僕はインストーラーで「はい、はい、」となんも考えずにボタンを押していったら、勝手に上書きされてしまいました。 デフォルトでは同じ場所にPerl.exeがインストールされるようです。

dark-owl
質問者

お礼

ありがとうございます。 ところで モジュール? コンパイル? 言葉の意味がわからないのでついでに教えて頂けると ありがたいのですが・・ すいません初心者で

その他の回答 (1)

  • hiro_ayu
  • ベストアンサー率50% (2/4)
回答No.2

こんばんは。 モジュールというのは、Perlから使える便利な部品集です。 Webページをよそから取ってくる部品や、ファイルやディレクトリを簡単にあつかう部品などなど、ものすごい数のモジュールが用意されています。 UNIX系のOSでこのような部品を使う場合は http://www.cpan.org/modules/index.html などからそのモジュールのソースプログラム(C言語で書かれている部分もある)を取ってきて、それをコンパイルしてインストールする必要があります。 (C言語の知識があるのかわかりませんが、C言語で書かれたプログラムはPerlのようにすぐ動くわけではなく、コンパイルという変換作業が必要なんです。) WindowsはふつうそのままではC言語での開発ができないので、そういう一連の作業のできる環境を用意するのがむずかしいのです。 UNIX系のOSであれば、C言語の開発環境がたいてい入っているので、そういう作業はルーチンワークとして簡単にできます。 しかし、Windows版ActivePerlはそのモジュールの有名どころ多数をコンパイル済みでしかもppmという専用インストーラー付で用意してくれています。 すごく簡単です。

参考URL:
http://www.cpan.org/modules/index.html
dark-owl
質問者

お礼

大変わかりやすい解説ありがとうございました。

関連するQ&A

  • PerlをWinで使いたい。

    当方のパソコンのOSはWin XP SP2 です。 Perlの勉強を始めようと思いまして、 PerlがWinで使えるということなので、 Perl for Win32 Base Build 316 の日本語対応版をダウンロードしました。 C:\Perl\bin\フォルダの中のファイルは以下の通りです。 Jperl.exe Perl300.dll PerlGlob.exe XPerl.exe XPerlGlob.exe 別に中身が以下のようなtest.txtファイルを作りました。 $name = "KENT"; print "my name is $name", "\n"; print 'my name is $name', "\n"; それで、test.txtをJperlのアイコンにドラッグしました。 ms-dosの画面は出るのですが、何も表示されません。 お助け下さい。・・・m(_ _)m

  • Perlについて教えてください。

    Perlについて教えてください。 私はPerl、Linux(FreeBSD,CentOS)について初心者の為よくわからないので2点質問させてください。 ネットでPerlについて調べたところ 1. WindowsでのPerl開発 = Active Perl(ActiveState社) WindowsでのPerl開発 = OSに最初から組み込まれているもの(違っていたらすみません) との記述がありますが、ActiveState社のHPに行くとWindows,Mac,Linux,SunのActive Perl がありますがActive PerlはそれそれのOSで同じソースががつかえるのでしょうか? 2. Windows XPにActive Perlをインストールしたところ「Perl package Manager」もインストール されていたので、起動してみるとインストールされている(インストールできる)PPMが表示されますが PPM(Perl Package Modeule)=Win32用Perlモジュール CPANのPerlモジュール=Linux用のPerlモジュールと考えていたのですが 両方とも表示されています。 CPANで入手できるPerlモジュールはWindows環境下のActive Perlでもしようできるのですか? 馬鹿な質問と思うのかもしれませんが是非教えてください。

    • ベストアンサー
    • Perl
  • namazu のインデックス作成

    No.313463,No.314412の続きです。 namazu,kakasi,perlは無事インストールできたのですが、インデックスの作成がうまくいきません。 MS-DOSプロンプトで C:\mknmz -O C:\namazu\var\namazu\index C:\homepage  と入力しましたが「コマンドまたはファイル名が違います。」と表示されます。 どこがおかしいのでしょうか? ソフトは nmz2010 ActivePerl-5.6.1.633-MSWin32-x86 kakasi-2.3.4 です。 FMV-BIBLOを使っています。 OSはwindows98 関連URL:http://oshiete1.goo.ne.jp/kotaeru.php3?qid=313463 http://oshiete1.goo.ne.jp/kotaeru.php3?qid=314412

  • MS-DOSでperl実行時にコマンドプロンプトが認識されず困っていま

    MS-DOSでperl実行時にコマンドプロンプトが認識されず困っています。 Active Perlをインストールして、Tera-Padでスクリプトを書き、MS-DOSでテストしています。 "du"や"ls"などのコマンドを(``)で囲ってスクリプトに記述すると、「`du`は内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません」というエラーが出てしまいます。winfaqを参照し、 http://homepage2.nifty.com/winfaq/w2k/trouble.html#1467 環境変数を設定しました。(但し、環境変数に設定しているのは下記の1行のみではありません。すでに1つ別のソフトインストールで自分でPATHを設定していますので、今回は";"で下の1行を追加しました。) %SystemRoot%;%SystemRoot%\System32;%SystemRoot%\System32\Wbem そしてPCを再起動しても事象は変わりません。 因みに、Active Perlは「C:\perl」フォルダにファイルがあります。binはその下にあり、環境変数にも「C:\perl\bin」として追加済みです。 いろいろと試してみたのですが、原因がわからず困っています。 ぜひアドバイスをいただければ大変助かります。 どうぞ宜しくお願い致します。

    • ベストアンサー
    • Perl
  • perlの設定の方法

    お世話になります。 コマンドプロンプトで実施すると C:\>perl d:\wwwroot\test.cgi hello world と返ってきますが、 URLにhttp://localhost/test.cgiとすると Forbidden You don't have permission to access /test.cgi on this server. と返ってきます。 windowsですので、permissionと言われても何を設定するのか・・・ 何の設定を実施すれば、CGIが動くのか教えて下さい。 まったく検討がつきません。よろしくお願いします。 環境は以下のとおりになります。 Apache/2.0.49 (Win32) [C:\Program Files\Apache Group\Apache2]にインストール PHP/4.3.4 [c:\php]にインストール This is perl, v5.6.0 built for MSWin32-x86-multi-thread [C:\usr]にインストール Windows XP pro SP2 test.cgiの中身 #!/usr/bin/perl # test print "hello world";

    • ベストアンサー
    • Perl
  • For文について (DOS起動)

    テキストファイルの内容を1行ずつ取り出したいと思い、以下のコマンドを実行しました。  for /f %i in (test.txt) do echo %i このコマンドをWin7及びXPのOS上コマンドプロンプトで実行した場合は問題ありませんが、MS-DOS6.22やWin98、WinMEのDOS起動ディスクなどの場合、Syntax errorとなります。 ※test.txtの内容は、TABやSpaceなし、半角英数字のみの文字列で4行程度保存しています。 この為、DOS起動ディスクでは、For文を使えないのかと思い、以下コマンドを実行した所、正常に動作しました。  for %i in (1 2 3 4) do echo %i この事から、For文にてテキストファイルの読み込みが出来ない状況のようです。 どのようにすれば、テキストファイルを読み込む事が出来ますでしょうか。 宜しくお願い致します。

  • Win98を使いたい

    現在、WinXPProを使っていますが、どうしてもWin9Xでないと動かないソフトを使いたいのでWin9Xを新たにインストールすることを考えています。 使用HDDは現在NTFSでフォーマットしており、REID-1ユニットに収めてセカンダリーマスターに接続しています。 http://homepage2.nifty.com/winfaq/dualboot.html や、過去の質問等々も検索したのですが、NTFSでフォーマットされた状態ではなかなか難しいようです。 また過去の質問からも、9XとXPのデュアルブートはあまりよくない印象を受けます。 この場合HDD交換トレイなどを使うのが定石かもしれませんが、REID-1を組んでいる関係でこれもむつかしそうです。 今のPCで安全にXPと9Xを両方使う方法はないでしょうか? わからない点は補足要求をして下さい

  • perlで16進のデータをたくさんセットするには?

    perlでテストデータを作成したいのですが、やり方がわからず困っています。 やりたいことは、文字変換テーブルがうまく作成できているかを試すための、テストデータ作成で、データとしては16進でx'97A0'からx'9EDF'までの2バイト文字コードのデータをひたすら打ち込んだ、テキストデータを作成することです。 単純にHEXのデータx'97a1'をunpackで10進化したデータに対して、1を足しこみ、それをPACKし直してと言うことをしてみたのですが、結果はx'97a1'で、x'97a2'にはなってくれませんでした。 16進で2バイト文字コードを連番で自動で作るようなことはできないのでしょうか? 作成するテストデータが多いため、できれば自動でしたいと考えたのですが・・・。 試してみたサンプルを以下に記します。 どなたかお知恵をお貸しください。 よろしくお願いいたします。 -------------------------------------------- $data0 = "97a1" $data1 = pack "H4",$data0; $ctrl = pack "H2","0d"; for ($i = 0; $i < 10; $i++) {  $data2 = unpack "H4",$data1 ;  $data5 = $data2++;  $data6 = pack "H4",$data5 ;  print NEWFILE $data6,$ctrl; }

    • ベストアンサー
    • Perl
  • Autoexec.batの改変とNamazuの動作不良

    全文検索のcgiである namazuをインストールしようとして、 メモ帳でいじっていたら、そのうち autoexec.batの内容を以下のように改変 してしまって、初期の状態がわからなく なってしまいました。環境変数の領域が 確保できないとのメッセージだと思います がどうやってよいかわかりません。  ちなみに、namazuも正常に動作 しません。*.nmzファイルがdummyファイル と同じフォルダにできるはずなのですが、できない のです。Win98環境です。ルートと、namazu フォルダの二カ所でインストールを試みたのが災い しているようです。 Autoexec.batの内容です。 ----------------- SET BLASTER=A220 I7 D1 H7 P330 T6 SET SBPCI=C:\SBPCI loadhigh C:\WINDOWS\COMMAND\nlsfunc.exe C:\WINDOWS\country.sys SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\PERL\BIN;"%PATH%" PATH=C:\JUST\JSLIB;C:\JUST\JSLIB32;C:\PROGRA~1\JUSTSY~1\JSLIB32;%PATH%;"C:\ProgramFiles\Mts" REM ###### Namazu for Win32 Environment variable setting SET PATH=C:\namazu\bin;"%PATH%" SET NAMAZURC=C:\namazu\namazu\etc\namazu\namazurc SET NAMAZULOCALEDIR=C:\namazu\namazu\share\locale SET MKNMZRC=C:\namazu\namazu\etc\namazu\mknmzrc SET LANG=ja_JP.SJIS SET HOME=C:\namazu REM ###### kakasi for Win32 Environment variable setting SET KANWADICTPATH=C:\kakasi\share\kakasi\kanwadict SET ITAIJIDICTPATH=C:\kakasi\share\kakasi\itaijidict SET PATH=C:\namazu\namazu\bin;"%PATH%" SET PATH=C:\namazu\bin;"%PATH%" ------------ もちろん、今の時点で再起動はかけてはいません。 至急よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • NTでapacheとperlをインストールしてCGIテスト

    WINDOWS NTの環境でネットに繋がっていない状態でCGIテストをしようと、apache_1_3_12_win32.exe (Apache 1.3.12 for Win32) とActivePerl 623をダウンロードしセットアップしました。 Apacheの動作確認までできました。 ところが、CGIが動きません。 DOSで「xx.pl」は動いているのに、「xx.cgi」をテストしようとブラウザでみてもエラーが出てしまいます。 セットアップした2つの場所は、c:\www\perl\ と、c:\Apache\です。 何が間違っているのでしょうか? どなたか詳しく教えて頂ける方がいらっしゃいましたら、大変ありがたいです。 ブラウザのエラーは 「Internet Server Error The server encountered an internal error or misconfiguration and was unable to complete your request~」というような表示です。 また違う者が前にsendmailを入れたようなのですが、その中にもapacheが入っていました。 またperlもcドライブに入っているのですが、これはまずいでしょうか? お助けください。よろしくお願いします。