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:¥から実行確認済みです。

何が原因と考えられるでしょうか。
宜しくご教示お願いします。

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

A 回答 (2件)

> Win98+PWS4.0でPERLを動作させたいのですがうまくいきません。



この時点で無理だと思うのですが(^^;;
#間違っていたら申し訳ございません

多分どこかで scriptsフォルダでCGI動作させることが可能、みたいなことが書いてあったのを読まれたと思いますが、PWSで言うところのCGIはISAPIなどを指します。

Windows98環境でしたら、
Apache Win32+Active PerlでPerlをテストさせることができます。
これらのソフトウェアは下記からダウンロードすることが可能です(多分ActivePerlはすでに導入済みだと思いますが・・・一応)

http://www.apache.org/
http://www.activestate.com/

参考になれば

参考URL:http://www.apache.org/,http://www.activestate.com/
    • good
    • 0
この回答へのお礼

ありがとうございます。
APACHEは別途検討してみます。

>この時点で無理だと思うのですが(^^;;
PWS4.0ではダメと言うことですか?
WIN95用ではできるようですが。

お礼日時:2002/01/18 17:49

そのCGIのファイルを置いている場所は 仮想ディレクトリを追加して 実行権を与えていますか?

この回答への補足

PWS初期設定ですが”実行””スクリプト”は許可しています。

補足日時:2002/01/18 17:45
    • good
    • 0
この回答へのお礼

PWS標準のディレクトリ”scripts”なので
”実行”スクリプト”ともチェックはあるのですが...
どうもダメですね。
ありがとうございました。

お礼日時:2002/01/21 12:29

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

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

Qexcel;マクロ;表現をもっと縮小したい

質問します。下記のようなモジュールで中に同様の数字のみが順に変わるブロック繰り返しが多数あるのですが、もっと簡略化した表現
が可能でしょうか。よろしくお願いします。
Sub usb_count()
d = Range("A65536").End(xlUp).Row
j = 3
For i = 2 To d
Select Case Cells(i, "B")
Case Sheets("sheet2").Cells(4, "A")
Sheets("sheet2").Cells(4, "B").Value = Sheets("sheet2").Cells(4, "B").Value + 1
If Cells(i, "K").Value = "USB" Then
Sheets("sheet2").Cells(4, "C").Value = Sheets("sheet2").Cells(4, "C").Value + 1
Else
Sheets("sheet2").Cells(4, "D").Value = Sheets("sheet2").Cells(4, "D").Value + 1 '
End If
‘------------------------------------------------------------------------------------------------------------------------------------
Case Sheets("sheet2").Cells(5, "A")
Sheets("sheet2").Cells(5, "B").Value = Sheets("sheet2").Cells(5, "B").Value + 1
If Cells(i, "K").Value = "USB" Then
Sheets("sheet2").Cells(5, "C").Value = Sheets("sheet2").Cells(5, "C").Value + 1
Else
Sheets("sheet2").Cells(5, "D").Value = Sheets("sheet2").Cells(5, "D").Value + 1
End If
‘-----------------------------------------
‘以下上記の‘-----------から‘-----------で囲まれたブロックが( )内の数字が6から20まで繰り返され続く
が略す
End Select
Next i
End Su

質問します。下記のようなモジュールで中に同様の数字のみが順に変わるブロック繰り返しが多数あるのですが、もっと簡略化した表現
が可能でしょうか。よろしくお願いします。
Sub usb_count()
d = Range("A65536").End(xlUp).Row
j = 3
For i = 2 To d
Select Case Cells(i, "B")
Case Sheets("sheet2").Cells(4, "A")
Sheets("sheet2").Cells(4, "B").Value = Sheets("sheet2").Cells(4, "B").Value + 1
If Cells(i, "K").Value = "USB" Then
...続きを読む

Aベストアンサー

とりあえず、マクロで具体的に何をやっているかを解析せずに、機械的にSelect Case文をIfに置き換えてForループでまわすように変えてみました。

Sub usb_count()
d = Range("A65536").End(xlUp).Row
For i = 2 To d
For k = 4 To 20
If Cells(i, "B") = Sheets("sheet2").Cells(k, "A") Then
Sheets("sheet2").Cells(k, "B").Value = Sheets("sheet2").Cells(k, "B").Value + 1
If Cells(i, "K").Value = "USB" Then
Sheets("sheet2").Cells(k, "C").Value = Sheets("sheet2").Cells(k, "C").Value + 1
Else
Sheets("sheet2").Cells(k, "D").Value = Sheets("sheet2").Cells(k, "D").Value + 1
End If
End If
Next k
Next i
End Sub

とりあえず、マクロで具体的に何をやっているかを解析せずに、機械的にSelect Case文をIfに置き換えてForループでまわすように変えてみました。

Sub usb_count()
d = Range("A65536").End(xlUp).Row
For i = 2 To d
For k = 4 To 20
If Cells(i, "B") = Sheets("sheet2").Cells(k, "A") Then
Sheets("sheet2").Cells(k, "B").Value = Sheets("sheet2").Cells(k, "B").Value + 1
If Cells(i, "K").Value = "USB" Then
...続きを読む

QAccessのDebug.Printで…

以下のようなことをしています。
condValue = "(Val(Mid(T_テーブル.値,9)) between " & Val(Me!Value_1) & " and " & Val(Me!Value_2) & ")"
Debug.Print condValue

(テーブルの「値」はテキスト形式)

これで、イミディエイトウィンドウに表示されると、
(Val(Mid(T_テーブル.値,9)) between 1 and 9)
のような感じです。

Me!Value_1とMe!Value_2のところは、ちゃんと数値に置き換わっているのに、テーブルのところがかわってませんよね。
やっぱりテーブルは値がたくさんあって、ひとつひとつ当てはめていくわけにいかないからこのような表記になるのでしょうか?
ちょっと不安になってしまったもので。。。

また上記のcondValueの書き方はあっているでしょうか?

Aベストアンサー

#1のものです。

直接テーブルの値を参照したいわけではなく
ここで作ったcondValueの文字列を
レコードの検索・抽出条件として使用しているという事ですよね?

それならばプログラムの書き方も、Debug.Printで表示される内容も
特に問題はないと思われますよ。

後は何が不安なのか良く分かりませんが
「検索条件とはこのように書くものだ」と理解して頂くしかなさそうですね(^^;

検索条件の基本的な形は
 テーブル名.フィールド名 = 比較する値(もしくは参照式)
というものです。
具体的な値と比較したいのであれば
 テーブルA.フィールド1 = 10
フォーム上の値などと比較したいのであれば
 テーブルA.フィールド1 = Forms!フォーム1!テキスト1
などと書くことになります。

最初の質問を拝見して
「Me!Value_1, Me!Value_2の部分はプログラムにより数値に置き換わるのに
 テーブル名のところが数値に変わらないのはなぜ?」
という事を尋ねているかと思いましたので。

#1のものです。

直接テーブルの値を参照したいわけではなく
ここで作ったcondValueの文字列を
レコードの検索・抽出条件として使用しているという事ですよね?

それならばプログラムの書き方も、Debug.Printで表示される内容も
特に問題はないと思われますよ。

後は何が不安なのか良く分かりませんが
「検索条件とはこのように書くものだ」と理解して頂くしかなさそうですね(^^;

検索条件の基本的な形は
 テーブル名.フィールド名 = 比較する値(もしくは参照式)
というものです。
具体的な...続きを読む

QVBAでエクセルシートのPrint指示は実務的に何件程度まで可能でしょうか?

データの入ったシートからPrint用のシートにデータをDo Loopで、1件ずつ取り出し、1データで1枚、1回ごとにPrintするマクロを作成しました。
テストで10件程度はやってみて作動は確認済みです。
しかし気になるのは、本番では数千件のPrintになることです。

そんな大量な回数のPrint指示をこれまでやったことがありません。これまでは最大で100データ程度でした。
件数が多いので(紙がむだになるので)事前にテストするわけにもいきません。
プリンターの性能にもよるのでしょうが、数千件のPrint指示をしても大丈夫なものでしょうか?プリンターはレーザープリンターでRIKOH IPSIOのNX610か、Cannonの同程度のものです。

なお、当然ながら途中で用紙切れになりますが、これは手動でトレイの用紙を補給する予定です。

Aベストアンサー

Windowsのプリントスプールにデータがたまるだけなので、ディスクに空きがあれば何千ページのプリントでもOS上は問題はないと思いますが、プリンタがPrintメソッド実行速度ほど早く印刷はできませんので(A4横20枚/分)、何枚か印刷したらSleepもしくはWaitさせる方が良いのではないでしょうか。

Printメソッド実行と印刷速度がある程度同期している方が、何かと対処がし易いと思います。(処理中断時の判断など)

回答になっていなくてすみません(^^;

Qスケジュール管理ソフトをIIS/ASP/Accessで作る

100人程度の人が使用するスケジュール管理ソフトをIIS/ASP/Accessで作ろうとしています。
mdbファイルを1つにするとファイルサイズが大きくなりそうなので、
ユーザーごとにスケジュールが入ったファイルを作るようにしたのですが、
表示させるユーザーの数だけdb.openとdb.closeを繰り返すせいか、
スケジュール一覧を表示させるのに5秒以上かかってしまいます。
ASPでなんとか1秒以内に表示したいのですが、よいやり方があれば教えてください。

Aベストアンサー

こんにちは。
専門家ではないので、検討のとっかかりになれば幸いです。

「Accessが大前提」の場合
パフォーマンスがどれくらい変わるか判りませんが、ユーザーごとの
mdbに入っているテーブルに対してリンクを作成したmdbだけを用意し、
ASPからはそこだけをアクセスするようにすれば、ASPのOpen/Closeは
一度ですみますよね。
さらに外しているかもしれませんが、必要なビューをあらかじめ準備
するなどはどうでしょう。

「Accessが大前提」でない場合
やはりSQLServerなりを入れることを検討されるべきかと。

Q勤怠で指定した日にち(5/1~5/6)入れると計算結果だけ出せますか?

勤怠で指定した日にち(5/1~5/6)入れると計算結果だけ出せますか?

1シートに1名分の勤怠明細表があります。

 ・・A・・・・・ B・・・・・・・C・・・・・・・D・・・・・・・E・・・・・・・・F・・・・・・・・G・・・・・・・H・・・・・・・・・K
   
  ・日月・・・出勤・・・・退勤・・・・休憩・・・・実働時間・・・・時給・・・・・時間内・・・・時間外・・・・基本賃金
15

16  5月1日・9:00・・・・12:00・・・・1:00・・・・・2:00・・・・・・850・・・・・・1700・・・・・・・・・・・・・・¥1700円

17  5月2日

18  5月3日

19  5月4日

Fの12に、 支払金額が表示されます。

上記のような表が横並で、3枚(仮にA表・B表・C表) 3枚とも同じ書式で、A表・B表とも

時間の入力は、(B 列C 列D 列)別のシートからリンクされてます。

やりたい事は 3枚目C 表が、週払い用になってまして、 現在B表の時間を 張り付けしてましたが、
たとえば 
・・・・・・・ AE・・・・・・AF・・・・・AH・・・・・・ AJ 

4     ・1回目・・・・・ 5/1 ・・・・・5/5 ・・・・・ ¥3200

5     ・2回目・・・・・5/6 ・・・・・5/12 ・・・・・¥62000


6     ・3回目


7     ・4回目

 AF4に検索開始日 5/1 AH4に検索終了を入れると、 指定した日数の支払金額を、AJ4に出す事が出来るでしょうか、  週払いは、同じ月の日曜日~月曜で 月に 3回か4回です。
張り付けで作業してますと、その月の前のデーターが、残らないので、
当月の週払い金額 約 3回分が 残る形で考えているのですが、 分からないので
おたずねします。 よろしくお願いします。

勤怠で指定した日にち(5/1~5/6)入れると計算結果だけ出せますか?

1シートに1名分の勤怠明細表があります。

 ・・A・・・・・ B・・・・・・・C・・・・・・・D・・・・・・・E・・・・・・・・F・・・・・・・・G・・・・・・・H・・・・・・・・・K
   
  ・日月・・・出勤・・・・退勤・・・・休憩・・・・実働時間・・・・時給・・・・・時間内・・・・時間外・・・・基本賃金
15

16  5月1日・9:00・・・・12:00・・・・1:00・・・・・2:00・・・・・・850・・・・・・1700・・・...続きを読む

Aベストアンサー

こんにちは!
外していたらごめんなさい。

具体的にどの列に必要な数値が入っているか判断しかねますので、
こちらで勝手に↓のように判断しています。

元データはA16セル~A46セルまでシリアル値で1か月分の日付が入力してあり、
K16~K46までに賃金が数値で表示されていて、
AF列に入力された日付からAH列に入力された日付(両方ともシリアル値)の間の賃金合計を
AJ列に表示させれば良い訳ですよね?

一応そういうことだとして・・・

AJ4セルに
=IF(OR(AF4="",AH4=""),"",SUMPRODUCT(($A$16:$A$46>=AF4)*($A$16:$A$46<=AH4)*$K$16:$K$46))
という数式を入れ、オートフィルで下へコピーではどうでしょうか?

前述どおり、列の配置が違うかもしれませんので、その辺は適当にアレンジしてみてください。

尚、Excel2007ですと、SUMIFS関数が使えると思います。

以上、参考になれば良いのですが
的外れならごめんなさいね。m(__)m


人気Q&Aランキング

おすすめ情報