$aaと$ab(変数)が異なる場合は、違いますを表示させ
$aaと$abが同じ場合は、同じですを表示させたいのですが
なぜかどちらも表示されてしまいます
内容
#!/usr/bin/perl
$aa="1";
$ab="2";
print "content-type:text/html\n";
print "\n";
print '<title>作成中</title>';
print '<noscript>このページはjavascriptを使用しています。<Br>このメッセージが表示されている場合は、最新のブラウザーを、イ
ンストールしてください。(<a href="http://mozilla.jp/firefox/download/">firefoxをダウンロード</a></noscript>';
print '<center><font size="7">作成中</center></font>';
if ($aa = $ab){print "aとbは同じ\n"};
if ($aa!=$ab){print "aとbは違う\n"};
if ($aa = $ab){print "aとbは同じ\n"};
この部分で$aaと$abを比較するのではなく、$abの値が$aaに代入され、結果、if($abの内容)となってしまい、trueになり、そのため$aaの内容は$abと同じになってしまったので、
if ($aa!=$ab){print "aとbは違う\n"};
これもtrueとなってしまっているんだと思います。
if ($aa == $ab){print "aとbは同じ\n"}; if ($aa!=$ab){print "aとbは違う\n"};
このように、==で比較しするのが、意図したコードなのでははないかと思います。
Perlを勉強するなら、ちょっと難しいかもしれませんが、以下を読んでみるとよいと思います。
if ($aa = $ab){print "aとbは同じ\n"};
この部分で$aaと$abを比較するのではなく、$abの値が$aaに代入され、結果、if($abの内容)となってしまい、trueになり、そのため$aaの内容は$abと同じになってしまったので、
if ($aa!=$ab){print "aとbは違う\n"};
これもtrueとなってしまっているんだと思います。
if ($aa == $ab){print "aとbは同じ\n"}; if ($aa!=$ab){print "aとbは違う\n"};
このように、==で比較しするのが、意図したコードなのでははないかと思います。
Perlを勉強するなら、ちょっと難しいかもしれませんが、以下を読んでみるとよいと思います。
こんな感じ。
if ($aa eq $ab){print "aとbは同じ\n"}; if ($aa ne $ab){print "aとbは違う\n"};
「perl 比較演算子」みたいなキーワードで検索してみましょう。
コメント(0件)