D:\>perl -we"print for sort { warn qq,($a)($b),; $a <=> $b } 2, 1, 4 , undef, undef, 3, 'nan','nan','inf','inf'" (2)(1) at -e line 1. Use of uninitialized value in concatenation (.) or string at -e line 1. (4)() at -e line 1. Use of uninitialized value in numeric comparison (<=>) at -e line 1. Use of uninitialized value $a in concatenation (.) or string at -e line 1. ()(3) at -e line 1. Use of uninitialized value in numeric comparison (<=>) at -e line 1. (nan)(nan) at -e line 1. (inf)(inf) at -e line 1. Use of uninitialized value in concatenation (.) or string at -e line 1. (1)() at -e line 1. Use of uninitialized value in numeric comparison (<=>) at -e line 1. (1)(4) at -e line 1. (2)(4) at -e line 1. Use of uninitialized value $a in concatenation (.) or string at -e line 1. Use of uninitialized value in concatenation (.) or string at -e line 1. ()() at -e line 1. Use of uninitialized value in numeric comparison (<=>) at -e line 1. Use of uninitialized value in numeric comparison (<=>) at -e line 1. Use of uninitialized value $a in concatenation (.) or string at -e line 1. ()(1) at -e line 1. Use of uninitialized value in numeric comparison (<=>) at -e line 1. (1)(3) at -e line 1. (3)(2) at -e line 1. (3)(4) at -e line 1. (nan)(inf) at -e line 1. (inf)(nan) at -e line 1. Use of uninitialized value $a in concatenation (.) or string at -e line 1. ()(nan) at -e line 1. Use of uninitialized value in numeric comparison (<=>) at -e line 1. Use of uninitialized value in concatenation (.) or string at -e line 1. (nan)() at -e line 1. Use of uninitialized value in numeric comparison (<=>) at -e line 1. (nan)(1) at -e line 1. (1)(nan) at -e line 1. (1)(inf) at -e line 1. (1)(inf) at -e line 1. Use of uninitialized value $_ in print at -e line 1. Use of uninitialized value $_ in print at -e line 1. nannaninfinf1234 #### D:\>perl -e"print sort { $a <=> $b } undef, 1, undef, 2" 12 D:\>perl -e"print sort { $a <=> $b;undef } undef, 1, undef, 2" Sort subroutine didn't return a numeric value at -e line 1.