1
這是我第一次使用Perl。undef值並打印它
在Perl線程中,如果上下文是標量,則threads->exit()
子例程的返回值爲undef
值。
#!/usr/bin/perl
use threads;
$t=threads->create({"context"=>"scalar"},
sub { threads->exit();});
$re = $t->join();
print "##################\n";
print "$re\n\n";
print "##################\n";
print (undef) . "TES\n";
print "##################\n"
輸出是:
##################
##################
##################
爲什麼print "$re\n\n";
打印信息,但不執行print (undef) . "TES\n";
? 即使$re
是undef
。
我做了一個測試,以確保$ re是未定義的。
#!/usr/bin/perl
use threads;
$t=threads->create({"context"=>"scalar"},
sub { threads->exit();});
$re = $t->join();
print "##################\n";
print "$re\n\n" if ! defined $re;
print "##################\n";
print (undef) . "TES\n";
print "##################\n"
和我去相同的輸出。
呀,非常感謝。 –
或者只是'打印undef。 「TES \ n」;':) – friedo
@friedo'警告:使用不帶括號的「undef」是不明確的......' –