use I18N::Collate; setlocale(LC_COLLATE, $locale); # uses POSIX::setlocale $s1 = new I18N::Collate "scalar_data_1"; $s2 = new I18N::Collate "scalar_data_2"; ***** use I18N::Collate; setlocale(LC_COLLATE, 'C'); $s1 = new I18N::Collate "Hello"; $s2 = new I18N::Collate "Goodbye"; # following line prints "Hello comes before goodbye" print "$$s2 comes before $$s2" if $s2 le $s1; ***** < <=> >= == != <=> lt le gt ge eq ne cmp ***** locale -a