お世話になります。
以下のようなことを考えています。
パラメーターを与え、そのパラメーターを「在る条件」で加工してファイルに出力していますが、
この「在る条件」が、結構頻繁に変更されます。
上記処理が1カ所なら条件が変更される都度直せば宜しいのですが、
パラメーターを与えるまでの違いのため、似たようなロジックですが複数本存在します。
a.cgi
b.cgi
c.cgi
d.cgi,,,,と。
(それぞれ前段が少しずつ違いますが、パラメータを渡すところからは同じです)
ということから、これらを親と子に分け、
パラメーターを渡すまでを親cgi、パラメーターを貰って加工しファイルに出力する部分を子cgiにすれば、
頻繁に基準が変わる「在る条件」を直すのは子cgiだけで済む、と考えます。
a.cgi コール x.cgi
b.cgi コール x.cgi
c.cgi コール x.cgi
d.cgi コール x.cgi,,,,のように。
教えていただきたいのは、
親(a.cgi b.cg c.cgi,,,)から子(x.cgi)をコールする部分のコーディングです。
(親はパラメータを与えて子をコールするだけ、
子はファイルを出力するだけで親に結果を返すなどの処理は不要です、単純に戻るだけで構いません。)
実際の例を挙げていただければ嬉しいです。
宜しくお願いします。
No.1ベストアンサー
- 回答日時:
一番お手軽な方法は require を使う方法ではないでしょうか。
例:呼び出し元のCGIからファイル名とテキストを渡し、require で読み込まれるライブラリでabc.txtを生成し、その中身にtestと書き込むスクリプト
##### 呼び出し元(a.cgi)
require "x.pl";
&makeFile("abc.txt","test");
##### require で読み込まれるライブラリ(x.pl)
sub makeFile {
$file = $_[0]; $writeText = $_[1];
open(FH,">$file");
print FH $writeText;
close(FH);
}
1;
なお、requireで読み込むライブラリは、最終行で真を返す必要があるので 1 を記述します。
早速有り難うございました。
教えていただいたモノに少しばかり私のロジックを加え、
やってみました。
私のローカル(perl環境)では思った通りの結果が出て出来ました。
喜んで、使わせて貰っているinfoseekライト(無料のレンタルサーバー)に登録したところ、
500番のエラーが出ました。
このサーバーではこのやり方を認めていないのでしょうか。
もしそうだと諦めないといけないのですね。
宜しくお願いします。
No.2
- 回答日時:
> infoseekライト(無料のレンタルサーバー)に登録したところ、
> 500番のエラーが出ました。
infoseekのサーバは使ったことがないのですが、require はごくごく一般的な手法ですので、Perlが使えるサーバであれば普通ではありえないことです。
呼び出し元のCGIから require している行、及びサブルーチンを呼び出している行をコメントアウトするとどうなりますか?
これでエラーが出ないなら、require で読み込まれるファイルのほうに問題があります。
実は単純ミスで、FTP時にバイナリで転送しているのかもしれません。
またまた有り難うございました。
問題なく動くはず、
との勇気づけられるお言葉を頂いたので全てを見直しました。
というより、テストロジックだけを作ってやっていたので、
本番さながらに今回教えていただいた部分を加味、
本番で動かしてみました。
結果は全く問題なく、動きました。
テストのために分からないながら端折ったりした部分が影響していたのかなと思っています。
ということで、
これから同じロジックをコピーして全ての親に反映する力作業だけになり、先が見えました。
大変お世話になり有り難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- CGI CGIが読み書きするデータファイルのパーミッションはさくらのインターネットでは何にするべき? 1 2023/05/02 16:44
- Perl perlの構文でカンマの意味が分からない 2 2022/10/30 01:53
- CGI CGIで出力するhtmlの<!DOCTYPE html>等のタグは要りますか? 2 2023/02/05 21:26
- CGI htmlからcgiを自動的に起動させたい 1 2023/02/21 19:39
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
- Perl perlのrequireの動き方についての質問 2 2022/10/30 17:27
- CGI 「CGIにより定義されていない」とは・・・ ? 3 2023/01/01 12:00
- その他(プログラミング・Web制作) robots.txtが”allow”のサイトを探しています 2 2022/10/09 13:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
cgiとplとpm
-
perlをインストールしたのに使...
-
perlのrequireの動き方について...
-
月の第一週とは
-
よくある 『 第○(1・2・3・4・...
-
apacheでPerl CGIが作動せず、5...
-
VBA。複数のChangeイベントをま...
-
エクセルで相対パスの書き方を...
-
[Excel] ある日の曜日が当月の"...
-
燃えるゴミの日は何曜日ですか?
-
エクセルで毎月第2週日の水曜日...
-
DBを10件毎に表示ページング...
-
[C#]ListView一覧表示時の幅設...
-
CGIの中で出力するテキスト内容...
-
週休3日制で土日の他にもう一日...
-
週2回のペースって だいたい何...
-
VBAでExcelのヘッダーに文字列+...
-
CGI RESCUEの簡易予約システムY...
-
for a week tomorrowはどういう...
-
カレンダープログラム、曜日の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
cgiとplとpm
-
perlのrequireの動き方について...
-
jcode.plが読み込めない
-
自CGIのURLのパス部分を取得す...
-
Perlソースを2つのファイルに分...
-
Perlのデバッグ方法って。。。...
-
mt-check.cgiでForbiddenエラー...
-
webからroot権限のコマンドを実...
-
useとrequireでエラー
-
画像のURLの変数を別のCG...
-
Quantifier follows nothing in...
-
require文が実行できない
-
コマンドラインでGET or POSTで...
-
apacheのCGI設定について教えて...
-
Not Found 404エラー時のCGI出力
-
htmlからテキストを返すperlを...
-
perlのcgiで、変数の中身を表示...
-
use CGI
-
フォームでインクリメント入力→...
-
Internal Server Error
おすすめ情報