< =>的含义Perl中的(小于,等于,大于)?

时间:2011-10-21 22:06:22

标签: perl comparison operators comparison-operators

this answer中,我看到了语法<=>;这是什么意思?它似乎是基于上下文的某种比较,但这就是我所能收集到的。部分背景:

sub rev_by_date { $b->[9] <=> $a->[9] }
my @sorted_files = sort rev_by_date @files;

1 个答案:

答案 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的字符串。