Từ perlop
Binary "< =>" trả về -1, 0, hoặc 1 tùy thuộc vào việc trái đối số là số lượng ít hơn, bằng hoặc lớn hơn quyền tranh cãi. Nếu nền tảng của bạn hỗ trợ NaN (không phải một số) dưới dạng số giá trị, sử dụng chúng với "< =>" trả về undef. NaN không phải là "<", "==", ">", "< =" hoặc "> =" bất kỳ thứ gì (kể cả NaN), vì vậy, 5 số đó trả về false. NaN! = NaN trả về giá trị đúng, cũng như NaN! = Bất kỳ điều gì khác.
Nếu nền tảng của bạn không hỗ trợ Nans sau đó NaN chỉ là một chuỗi với giá trị số 0.
NaN cư xử khác nhau trên nền tảng khác nhau. Đó là một cách số vì nó có thể hoạt động như vậy trong các phép toán số. Nhưng nó cũng thực sự không phải là một con số vì nó có giá trị không xác định.
Hơn nữa hành vi của nó không phải là cầm tay như:
perl -E "say 'yes' if 0 == 'NaN'"
có thể mang lại kết quả khác nhau trên nền tảng khác nhau, trừ khi bạn sử dụng Perl 5.22 hoặc mới hơn.
Nguồn
2012-07-05 14:01:54
http://en.wikipedia.org/wiki/NaN 'NaN' là giá trị hợp lệ của một số dấu phẩy động, giống như +/- vô cùng. – biziclop