
初心者です。フォームに文字を入力してもらい、↓
print blockquote(
textfield(
-name => 'die Antwort',
省略----条件にあえば、
my $value = param('die Antwort');#として
if (($value eq $ans || $value eq $ans2) and ($c eq $num)){
「正解」と表示することにしました。すると、うまくいくのですが、
if (($value eq $ans || $value eq $ans2) and ($c eq $num)){
について「Use of uninitialized value ----」とApacheのerror logに書かれてしまいます。このためerror logがすぐに巨大なファイルになってしまいます。これを避ける方法をお教えください。よろしく、お願いいたします。
No.2
- 回答日時:
今回一番の問題は $value という変数ですよね?
参照前にいちいち defined で変数をチェックして回るのも面倒ですから、
サブルーチン param が undef の代わりに空文字列を返すようにするように変更するとか、
サブルーチンを変更できないのであれば、呼び出しの箇所で undef が返されたかどうかを確認し、
undef だったら適当に内容を書き換えるというやり方はどうでしょうか?
こんな感じ。
#!/usr/bin/perl
use strict;
use warnings;
use feature ':5.10';
sub foo {
undef;
}
my $var = foo;
#my $var = foo || 'dummy';
say $var;
これを実行すると
Use of uninitialized value $var in say at okw.pl line 15.
のような警告が出されますが、下のコメントアウトされている行と入れ替えると
dummy
のようになります。
No.1
- 回答日時:
回答になっているかわかりませんが、貼っときます。
ペタ---
# 方法1 予め不正解となる値で初期化しておいて "処理" で更新する
my $value = '';
# 処理
if ( ( $value eq $ans1 || $value eq $ans2 ) and ( $c eq $num ) ) {
print '正解', "\n";
}
else {
print '不正解', "\n";
}
# 方法2 definedで初期化されたか確認する
my $value;
# 処理
if ( ( defined $value )
and ( $value eq $ans1 || $value eq $ans2 )
and ( $c eq $num ) )
{
print '正解', "\n";
}
else {
print '不正解', "\n";
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
perlのプログラミング 部分入れ...
-
Perlでファイルの末尾から指定...
-
テキストファイルで提出とは?
-
perl の open について教えてく...
-
Perl言語について。
-
ファイルをディレクトリ分配の...
-
アルファベットに付いて質問し...
-
#!/usr/bin/perlで書きだしたCG...
-
Perlのエラーについてご教授く...
-
perlのflock関数でロックをかけ...
-
AI sisterとは、偽物の人ですか?
-
bashスクリプト
-
ファイルアイコンの左下に緑の□...
-
perlプログラミング 空白行削除
-
perlでリテラル値はメモリにど...
-
perlで2次元配列をサブルーチ...
-
Perlで時間の計算
-
perlについて
-
perlのrequireの動き方について...
-
perlの構文でカンマの意味が分...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
シェルスクリプトで、空白(ス...
-
16進の10進変換について
-
c言語 16進数の2進数への変換
-
I2C接続のLCDディスプレイを使う
-
【至急!!!】python言語で本を見...
-
関数「exists」と「defined」の...
-
パイソンのクラスについて
-
Pythonでコンソールをクリアす...
-
PythonのJanomeを使って品詞の...
-
至急、[python初心者] listを使...
-
Python3 プログラミング初心者...
-
Lispの、evalはどのようにすご...
-
コラボレイトリーとVSコード
-
Pythonでプログラミング プログ...
-
Python3
-
パイソン文法で
-
int(input("○○"))の使い方
-
プログラミングを教えて下さい
-
pythonを使ったプログラミング...
-
Adafruit LIS3DH 3軸加速度セン...
おすすめ情報