Individual calls to mycmp()... Same package: a b => a b Different package: a b => a b Same package: b a => a b Different package: b a => a b Same package: c b => b c Different package: c b => b c Same package: b c => b c Different package: b c => b c Multiple calls to mycmp() in sort... Same package: a b c => a b c Use of uninitialized value in string comparison (cmp) at ./testsort3.pl line 77. (Snip repeated error) Different package: a b c => a b c Same package: b a c => a b c Use of uninitialized value in string comparison (cmp) at ./testsort3.pl line 77. (Snip repeated error) Different package: b a c => a b c <== first two inputs sort correctly Same package: c b a => a b c Use of uninitialized value in string comparison (cmp) at ./testsort3.pl line 77. (Snip repeated error) Different package: c b a => b c a <== first two inputs sort correctly Same package: b c a => a b c Use of uninitialized value in string comparison (cmp) at ./testsort3.pl line 77. (Snip repeated error) Different package: b c a => b c a