我是新来的.在阅读了如何询问和格式化之后,我希望这将是一个好问题.我对perl不是很熟练,但它是我最熟悉的编程语言.
我尝试将Perl应用到现实生活中,但我没有得到很好的理解 - 尤其不是来自我的妻子.我告诉她:
如果她晚上没给我3杯啤酒,那就意味着我喝了零(或没有)啤酒.
你可能已经猜到了,没有太大的成功.:(
事实上,现在.来自perlop:
一元"!" 执行逻辑否定,即"不".
语言,有什么boolean类型(什么只有两个"值")是可以的:
如果它不是一个值 - > 必须是另一个值.
很自然地:
!true -> false
!false -> true
Run Code Online (Sandbox Code Playgroud)
但Perl不具有boolean变量-只有一个truth system,whrere一切都不是0,'0' undef,''为TRUE.当将逻辑否定应用于非逻辑值(例如数字)时出现问题.
例如,如果某个数字不是3,那意味着它是零或空,而不是现实生活意义,如果某事物不是3,则意味着它可以是3以外的任何数字(例如也为零).
那么下一个代码:
use 5.014;
use Strictures;
my $not_3beers = !3;
say defined($not_3beers) ? "defined, value>$not_3beers<" : "undefined";
say $not_3beers ? "TRUE" : "FALSE";
my $not_4beers …Run Code Online (Sandbox Code Playgroud) perl ×1