なぜ定義された機能が機能しないのですか?
質問
私はそれが機能すると予想されるように機能しないコードを持っています。主に定義された関数は機能しません。
@jobs = qw[job1 undef job2];
if(defined($jobs[1])) {
print "Job 1 is defined";
}
出力を取得します
Job 1 is defined
明らかに $jobs[1]
は undef
. 。何が足りないの?
解決
あなたが使用しているので qw
, 、あなたのコードは次のものと同等です。
@jobs = ("job1", "undef", "job2");
それで $jobs[1]
それは ストリング "undef"
これは同じではありません undef
したがって、行動。
2番目のジョブをANにしたい場合 undef
できるよ:
@jobs = ("job1", undef, "job2");
Afaikあなたはこれを使用してこれを完了することはできません qw
.
所属していません StackOverflow