Win XP SP2でPerlを使える方法

このQ&Aのポイント
  • Win XP SP2でPerlを使える方法を解説します。Perl for Win32 Base Build 316の日本語対応版をダウンロードしてインストールする方法や、テストファイルを作成して実行する方法を説明します。
  • Win XP SP2でPerlを使用するための手順をまとめました。Perl for Win32 Base Build 316の日本語対応版をダウンロードしてインストールし、テストファイルを作成して実行することができます。
  • Win XP SP2のパソコンでPerlを使う方法をご紹介します。Perl for Win32 Base Build 316の日本語対応版をダウンロードしてインストールし、テストファイルを作成して実行する方法を詳しく解説します。
回答を見る
  • ベストアンサー

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

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

  • ベストアンサー
  • chiezo2005
  • ベストアンサー率41% (634/1537)
回答No.1

コマンドラインツールだおt思いますので, 普通は コマンドプロンプトを開いてそこから C:\Perl\bin\に移動して, C:\Perl\bin>Jperl.exe test.txt と入力してみてください。(ただしtest.txtは場合によってはフルパスで指定する必要があります。)

good148
質問者

補足

回答ありがとうございます。 うまくいきました・・・(^^) http://www.kumagaya.or.jp/~chichibu/cgi3.html#LK1 こちらのサイトの「CGIの開発環境」の 3.では、 例えば、print "テスト表示です"; という1行をつくり、 test.txtをJperlのアイコンにドラッグすると画面に テスト表示です と出るのを見て納得するといった感じです とありまして、これだったら簡単だと思ったのですが・・・(^^ゞ ダウンロードするソフトを間違えたのだろうか・・・(・・; ウーン   

その他の回答 (2)

  • chiezo2005
  • ベストアンサー率41% (634/1537)
回答No.3

ActivePerlのjcodeについては http://sakaguch.com/SetJcodePm.html に詳しいインストール方法が書いてあります。

good148
質問者

補足

どうしてもwin_install.plが出てきません。諦めました。 とりあえずJperlを使って勉強します・・・(^^ゞ

  • chiezo2005
  • ベストアンサー率41% (634/1537)
回答No.2

#1です。ずいぶん古いページですね。 http://pocketstudio.jp/win/activeperl/ ここを参考に最新のActivePerlを使われたほうが良いと思います。

good148
質問者

補足

あちこち迷いながらとにかくダウンロードしました。 英語がダメなものでして・・・(^^ゞ C:\Aperl\bin\フォルダの中のファイルは以下の通りです。 中身が多すぎるので省いています。 perl.exe test.txt test1.txt→print "テスト表示"; jcode.pl C:\Aperl\bin>perl.exe test.txt これは上手くいきました。 C:\Aperl\bin>perl.exe test1.txt テスト侮ヲ と表示されます。 jperlでは正しく表示されます。 jcode.plは同じフォルダにおいて置くだけではダメなのでしょうか?

関連するQ&A

  • perl 5.8.8 日本語マッチ

    perl5.8.8を使っています。 日本語にマッチする正規表現を書きたいのですが、どうしてもマッチしません。 例えば、以下のファイルtest.txtから「さしすせそ」だけを抽出し、表示させたいです。 ---------test.txt-------------------------------- あいうえお かきくけこ さしすせそ たちつてと -------------------------------------------------- ----------test.pl-------------------------------- use strict; use warnings; open(FILE, 'test.txt') or die "$!"; my @file = <FILE>; close(FILE); foreach my $line (@file){ if($line =~ /^さ/){ print "$line\n"; } } ------------------------------------------------ このtest.plを実行しても「さしすせそ」を抽出することが できません。 どうしたらよいのでしょうか? 自宅の新しいバージョンのperlだとできるのですが 会社のperlは5.8.8で顧客環境でもあるのでバージョンアップも できません。 すみませんが、よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • Win98+PWS4.0でPERLが動作しません

    Win98+PWS4.0でPERLを動作させたいのですがうまくいきません。 ディレクトリ「Inetpub」-「scripts」へTEST.PLという名で 下記のプログラムを入れて実施すると、 --------------- #!/user/local/bin/perl print "Content-type: text/html\n\n"; print "<html>\n"; print "<body>\n"; print "<p>\n"; print "Hello\n"; print "</p>\n"; print "</body>\n"; print "</html>\n"; --------------- HTTP エラー 403 403.1 許可されていません: 実行アクセスは許可されていません --------------- と出ます。 レジストリの設定は ".pl",".cgi”とも「C:\Perl\Bin\Perl.exe %s %s 」として、 PWSの設定で「scripts」は”実行””スクリプト”とも チェエク入をれています。 「wwwroot」のルートへ置いても同様のエラーが発生します。 DOS窓から「Inetpub」-「scripts」内でTEST.PLとすると 正常に表示はされます。 PerlへのパスもC:¥から実行確認済みです。 何が原因と考えられるでしょうか。 宜しくご教示お願いします。

  • Perl+DBI+Apacheの動作

    #!C:\\Perl\\bin\\MSWin32-x86-object\\jperl use DBI; print \"Content-type:text/html\\n\\n\"; print \"<html><body>test script</body></html>\\n\"; という内容のスクリプトを指定したフォルダの中に入れても、「test script]とブラウザ上に表示されません。そのまま「#!C:\\Perl\\bin\\MSWin32-x86-object\\jperl use DBI; print \"Content-type:text/html\\n\\n\"; print \"test script\\n\";」と 表示されます。 Apache、ActivePerl、Mysql、DBI、DBDはインストールし、Apacheも動作しているのは確認できます。 どうしてなのでしょうか。解決方法を教えていただけると助かります。どうぞよろしくお願いします。

    • ベストアンサー
    • Perl
  • perl

    Perlの初心者です。 本当は、LINUXで使用したいのですが、 自宅にその環境が無いので、MS-DOSで使用する為、 テキストファイルに下記の記述をしました。 print "\n"; print "どれについて知りたいですか?"; print "\n"; print "\n"; print "(1)いちご"; print "\n"; print "(2)みかん"; print "\n"; print "(3)りんご"; print "\n"; print "\n"; print "回答 ____ "; print "\n"; 私としては、例えば、(1)のいちごを選べば、 任意の場所に保存している、いちごに関するファイルを MS-DOS上で開きたいのですが、上手くいきません。 何かが足りないのは、感じているのですが、 それが何なのかが、わかりません。

  • PerlでZipファイルを作りたい

    PerlでZipファイルを作りたいのですが上手くいきません。 実行すると「Internal Server Error」になります。 Perlのバージョン:5.008009 文字コードは、Shift_JIS 改行コードは、Unix(LF)、です。 サーバーは「さくら」です。(ドリームホストも試しましたがダメでした) ファイル構成は zip.cgi data.txt 同じ階層に置いてます。 こちら https://www.h-fj.com/blog/archives/2010/07/19-203224.php のサイトを参考にさせてもらって下のように作ったのですが・・・ (print "Content-type: text/html¥n¥n";)は自分で勝手に 「いるんじゃない?」と思って付け加えました。 私、どこが間違っているのでしょうか? よろしくお願いします。 ———————————————————————————— zip.cgi ———————————————————————————— #!/usr/bin/perl use strict; use Archive::Zip qw( :ERROR_CODES :CONSTANTS ); my $zip = Archive::Zip->new(); # Zipのオブジェクト作成 $zip->addFile('data.txt'); # ファイルを圧縮 # Zipファイルに保存する print "Content-type: text/html¥n¥n"; if ($zip->writeToFileNamed('test.zip') == AZ_OK) { print "test.zip is successfully saved.¥n"; } else { print "test.zip save error.¥n"; } exit;

    • ベストアンサー
    • CGI
  • テキストエリアのインプットをPerlプログラムへ

    基本事項だと思うのですが質問させてください。 まず、HTMLファイル上に <form method= "post" action ="http://localhost/test.cgi> <textarea name ="story" cols="60" rows="10"> This is a test. </textarea> ... <input type="submit" name="submit_story" value="submit"> とプログラムを組みます。 その後、perlプログラムにテキストエリアの内容を送りユーザがsubmitボタンを押したときに HTMLファイルとして出力します。 そのPerlは以下のように組みました。 print "Content-type: text/html\n"; print "\n"; print "<html>\n"; print "<head>\n"; print "<title>The test of CGI</title>\n"; print "</head>\n"; print "<body>\n"; $story = $_POST["story"]; print "<p><h3>Textarea says $story </h3></p>\n"; print "</body>\n"; print "</html>\n";  しかし、$storyは表示されませんでした。 どこがおかしいのでしょうか? もしよければアドバイスをお願いします。

    • ベストアンサー
    • CGI
  • perlのリファレンス?はPHPではどうするのでしょうか?

    以下、Perlのソースですが、これをPHPに直すとどうなるのでしょうか? use strict; use warnings; use Data::Dumper; my $Name = "テスト"; my $Width = "100"; my $Height = "200"; my $dat = [ $Name, { Width=>$Width, Height=>$Height, } ]; print Dumper($dat); sub test{ my ($aryref) = @_; $$aryref[0]{$Name}{"Width"} = $Width; $$aryref[0]{$Name}{"Height"} = $Height; } my @OBJ = (); test(\@OBJ); print Dumper(@OBJ);

    • 締切済み
    • PHP
  • perlのDigest::MD5;でのMD5算出が異なる

    perlのDigest::MD5;でのMD5算出が異なる 下記、スクリプトをレンタルサーバ上と、WindowsOS上で走らせてみたところ、おなじファイルにも関わらず、MD5が異なります。 何故でしょうか? #!/usr/local/bin/perl use strict; use warnings; use Digest::MD5; my $file = 'test.zip'; my $ctx = Digest::MD5->new; open my $fh, "<$file"; $ctx->addfile($fh); my $md5 = $ctx->hexdigest; close($fh); open my $fh2, ">>md5.txt"; print $fh2 "$file $md5\n"; print "$file $md5\n"; close $fh2;

    • ベストアンサー
    • Perl
  • Perlで作成したCGIについて

    Perlで作成したCGIについて Perlで作成したCGIについて質問させていただきます。 #################### ##(1)system.cgi ## #################### #!c:/Perl/bin/perl.exe use strict; use warnings; use CGI; use CGI::Carp('fatalsToBrowser'); use CGI qw(:standard); print "Content-type:text/html;charset=utf8\n\n"; system('C:\\test.txt'); ##################################################### C直下にあるtest.txtの中身は「abcd」など 簡単なものです。 ##################################################### ################### ##(2)win32.cgi ## ################### #!c:/Perl/bin/perl.exe use strict; use warnings; use CGI; use CGI::Carp('fatalsToBrowser'); use CGI qw(:standard); use Win32::API; print "Content-type:text/html;charset=utf8\n\n"; my $MessageBox = Win::API -> new("user32","MessageBoxA","NPPN","N"); $MessageBox -> Call(0,"HelloWorld","Message",0); ##################################################### ##################################################### 以下にスペックを書きます。 Microsoft Windows XP Professional version2002 Service Pack2 Genuine Intel(R)CPU L2300 @1.50GHz 1.50GHz,1.49GB RAM ・ActivePerl ver5.10.1 built for MSWin32-x86-multi-thread ・Apache Apache 2.2.14(Win32) ##################################################### 上記の(1)、(2)のプログラムをエクスプローラ上(ローカル)で実行させて(1)ではテキストファイルを、 (2)ではメッセージボックスを表示させたいです。 結果は時間がかかるだけでTimeOutの設定である5分で切れてしまい何も起こりません。 しかし、全く同じプログラムで拡張子を.plに変更してコマンドプロンプトで実行すると、 期待通り(1)はテキストファイルが開かれ、(2)ではメッセージボックスが出てきます。 (1)、(2)ともCGIではsystemおよびMessageBoxの部分をコメントアウトして print文などを書けば普通にエクスプローラに表示されます。 (かなりhtmlとしては不備があると思いますが・・・) どうすればCGIで(1)、(2)のプログラムが期待通りの動きをするのか どうぞご教授のほどよろしくお願いいたします。 何か足りない情報や意味の分かりづらい個所がありましたら、仰ってください。 ちなみにこのプログラムは公開するために作成しているのではありません。 下手な説明、長文すみません。

  • perlについて、教えてください。

    perlについて、教えてください。 「apple.html」と「bigin.html」に、それぞれ, textboxが一つあり、入力値をkeep.cgiで受取り、 「keep.txt」に書込もうと考えています。 a.htmlのテキストボックスに、入力して、submitボタンをクリック しても、「keep.txt」に何も書き込まれません。 「keep.txt」に、 _______ a=100 b=200 ________ のように、書込みたいと考えています。 下記、keep.cgiのどこが間違っているのか、教えてください。 ___以下、「keep.cgi」です。_______________________________ #! c:/perl/bin/perl if($ENV{'REQUEST_METHOD'} eq 'POST') { read(STDIN, $query, $ENV{'CONTENT_LENGTH'}); } else { $query = $ENV{'QUERY_STRING'}; } #$queryに「●_text=●」が入っている。 #ファイルを開く、読み書き用。 $open_file_name = "+<keep.txt"; open(A,$open_file_name); #開いたファイルを、1行ずつ読み込む。 while(<A>){ #$_には、keep.txtの、1行目が入っている。 #$_(読込んだ行)に「●_text」があるか、チェックする if($_ =~ /$query/){ #あった場合 next; } #読込んだ行に、$query以外なら、配列に。 @keep = $_; @keep = $query } #ファイルを閉じる。 close(A); #ファイルを削除する unlink($open_file_name); #削除したのと、同じファイル名で新規作成 $new_file = ">>keep.txt"; open(A,$new_file); #再度、作成したファイルに、配列@keepを書込む。 print A @keep; #ファイルを閉じる close(A); print "Cotent-type:text/html\pirnt n\n"; print <<EOF; <body bgcolor="pink"> <font size="4"> 入力値をファイルに書込みました。<br> </font> EOF exit; ______________________ 宜しくお願いします。

    • ベストアンサー
    • CGI

専門家に質問してみよう