2

期待どおりに機能しないコードがあります。定義された関数は機能しません。

@jobs = qw[job1 undef job2];
if(defined($jobs[1])) {
  print "Job 1 is defined";
}

出力を取得します

Job 1 is defined

明らかに$jobs[1]ですundef。私は何が欠けていますか?

4

1 に答える 1

10

を使用しているためqw、コードは次のようになります。

@jobs = ("job1", "undef", "job2");

と同じではない$jobs[1]文字 、したがって動作も同様です。"undef"undef

2番目の仕事をしたい場合は、次のundefことができます。

@jobs = ("job1", undef, "job2");

AFAIKを使用してこれを行うことはできませんqw

于 2011-01-20T04:57:09.460 に答える