OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

jcode.pl と &ReadParse()

  • 暇なときにでも
  • 質問No.118650
  • 閲覧数335
  • ありがとう数3
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 59% (194/328)

CGIファイルの先頭は

#!/usr/local/bin/perl

require './cgi-lib.pl';
require './jcode.pl';
&ReadParse();

という感じになっています。
ここでのの require は、日本語を使うためのもの
だと思っています。合っていますか?

&ReadParse() というのは何ですか?
require と関係があるみたいです。
require を書かずに &ReadParse() を書くとCGIエラーになります。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2
レベル9

ベストアンサー率 65% (25/38)

cgi-libの中に「sub ReadParse」が必ずあります。
多分、大文字・小文字が違っていたのでは?

私の使っているcgi-lib.plのバージョンでは54行目にあります。

>>require './jcode.pl'; の方を消して、
>>CGIエラーは発生しませんでした。

というのは、A__さんが作られているperlのプログラムの
中で、jcode.plのサブルーチンを呼び出していないからです。
jcode.plは日本語変換ライブラリーです。
perlで呼び出すサブルーチンは

&jcode'convert(*変数,'sjis');

で、これを使っていなければエラーは起こりません。

ちなみに、&jcodeを使っていないと言う事は、特にフォームからデータをPOSTなどで受け渡しされていないと言う事でしょうか。
もし、データをブラウザなどから渡されるのであれば、
&jcodeは必須ですよ。
日本語はEUCとS-JISの2種類ありますから、どちらかに合わさないと、文字化けしてしまいます。
補足コメント
A__

お礼率 59% (194/328)

今また cgi-lib.pl を検索したら、ReadParse が
いつくかありました。
ありがとうございます。何か間違った検索をしていたのかも
しれません。

&jcode'convert(*変数,'sjis');
とかの説明もありがとうございます。
それも使っていたのだけど、&ReadParse() って何だろう
と疑問に思ってから、ソースを削って &ReadParse() の意味が
分からないかと実験していたところでした。

&ReadParse(); とは、cgi-lib.pl にある
環境変数をPerlの配列変数に置き換えるもの
なんですね。
ありがとうございました。
投稿日時 - 2001-08-14 20:44:51
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル9

ベストアンサー率 65% (25/38)

requireというのは、呼び出す外部サブルーチンを定義する関数です。 &ReadPauseは外部サブルーチンである、cgi-lib.plの中に あるサブルーチンを呼び出しています。 当然requireで定義していないと、ReadPause所在がわからずエラーになります。 cgi-lib.plをエディタで開いて、ReadPauseを探してみてください。ありますよ。 ちなみに、Re ...続きを読む
requireというのは、呼び出す外部サブルーチンを定義する関数です。
&ReadPauseは外部サブルーチンである、cgi-lib.plの中に
あるサブルーチンを呼び出しています。
当然requireで定義していないと、ReadPause所在がわからずエラーになります。

cgi-lib.plをエディタで開いて、ReadPauseを探してみてください。ありますよ。

ちなみに、ReadPauseは、CGIに渡される環境変数をPerlの配列変数に置き換えてくれる、ありがたいサブルーチンです。
これを自分で作るとなると一苦労です。
補足コメント
A__

お礼率 59% (194/328)

&ReadParse() とは、cgi-lib.pl の方に関係していたんですね。
 require './jcode.pl';
の方を消して、
 require './cgi-lib.pl';
 &ReadParse();
にしてもCGIエラーは発生しませんでした。
でも、cgi-lib.pl の中に ReadPause という文字が含まれていませんでした。
cgi-lib.pl のサイズは3636バイトでした。

cgi-lib.pl と &ReadParse() の関係は今だに疑問が残っています。
投稿日時 - 2001-08-14 19:42:56


このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ