Perlについての質問箱 40箱目
■ このスレッドは過去ログ倉庫に格納されています
0376デフォルトの名無しさん
2009/06/24(水) 18:45:23実際には数値が入っていない事ってあるのでしょうか?
メインとなる「index.cgi」と他のモジュールを分けて使いっています。
最初に別のファイルでPOST/GETデータをエンコードさせ、
「return %hash;」の形で下記ように戻しました。
%reEnc = ENC::enc();
そのファイルを再び下記のように別のファイルに渡しました。
fileLoad::FileSet(\%reEnc);
その後に見た目上は滞りなく処理が進むのですが、
サーバーのログには下記のようにエラーが出てしまいます。
(※確かにエラー行では"reEnc"からデータを取り出し"$value"に入れてます。
index.cgi: Use of uninitialized value $value in string eq at fileLoad/FileSet.pm line *.
当然何かおかしいと思い色々と弄っていたのですが、基本となる「index.cgi」上で、
「%reEnc」のデータを「print」してみたのですが、それは画面上には表示されます。
しかし、if構文で処理させようとすると、その数値が「ない」と判断されてしまいます。
print $reEnc{'pointA'}; ← これは「pointA」の値がちゃんと表示される。
if(!$reEnc{'pointA'}){ print "ない";} ←しかしこの構文では「ない」が表示されてしまう。
でも、何故か表示上は最後まで処理がされてしまうのです。これは一体全体何故でしょうか?
どう考えてもいろいろ駄目な感じはしますが、何カ所かでエラーチェックはかけていますし、
その数値が無ければファイルが呼び出せない「はず」の部分も存在します。
が。何故か処理が進んでしまうのです…。解せぬ。ということで、ご教示願いしまう。
■ このスレッドは過去ログ倉庫に格納されています