CGI-BBS > CGI > Perl > If〜Else文で困ってます


カレッヂ
カレッヂ


質問者 moom  投稿日 8/4(土) 11:52:02
 最近、自作でカリカリコードを書き始めたのですがIf〜Else文で
つまずいてしまいました。
 CSV形式のデータを読み込んで表示させるだけの単純なものですが
データがある場合とない場合で表示させる文字を変更したいと思い
ました。
 そこで単純に

if ( $memo ne "") { print "あるよ"; }
else { print "ないよ"; }

と加えてみましたが意味不明のまま書き加えたので、データがあるも
のについても「ないよ」と返ってしまいます。
 常に条件に見合う変数があればよいのですがそれもないので、カン
マで区切られたあるデータ範囲にデータがあるときはTrue、ないとき
はFalseを返すにはどのように記載したらよいのでしょうか?

 よろしくお願いいたします。
回答者 呑兵衛  [削除]  投稿日 8/5(日) 00:36:14
呑兵衛といいます。

if .. else .. は単なる条件判断です。前提に正確なデータの取り出しが必要です。
例えば、

open(DATA, "$datafile");
while (<DATA>) {
# $datafileから改行ごとに一行ずつ取り出す  
($aa, $bb, $cc, $dd, $ee) = split (/,/, $_);
# 5個の値からなる一行 $_ を 「 , 」を区切りに切り出す。
chomp $ee;
# 最後の値の改行コードを取り去る
# ここから料理を始めます。
if ($aa ne '') { print 'あるよ'; } else { print 'ないよ'; }
# なんじゃかんじゃ
}
close(DATA);
# ですね。
質問者 moom  [削除]  投稿日 8/5(日) 00:58:17
呑兵衛さん。ありがとうございました。

chomp $ee;
# 最後の値の改行コードを取り去る

これを加えたとたん、うまく動きました。
ありがとうございました。

このページは終了したので返信(回答)は書きこめません

Web裏技