在this answer中,我看到了语法<=>
;这是什么意思?它似乎是基于上下文的某种比较,但这就是我所能收集到的。部分背景:
sub rev_by_date { $b->[9] <=> $a->[9] }
my @sorted_files = sort rev_by_date @files;
答案 0 :(得分:15)
来自Perldoc:
二进制“&lt; =&gt;”返回-1,0或1,具体取决于是否为左 参数在数值上小于,等于或大于右 论点。如果您的平台支持NaN(非数字)作为数字 使用“&lt; =&gt;”的值返回undef。 NaN不是“&lt;”,“==”, “&gt;”,“&lt; =”或“&gt; =”任何东西(甚至是NaN),所以那些5返回false。 NaN!= NaN返回true,NaN也是如此!=其他任何东西。如果你的平台 不支持NaN,那么NaN只是一个数字值为0的字符串。