See the current Perl documentation for I18N::Collate.
Here is our local, out-dated (pre-5.6) version:
I18N::Collate - compare 8-bit scalar data according to the current locale
WARNING: starting from the Perl version 5.003_06
the I18N::Collate interface for comparing 8-bit scalar data
according to the current loca
$s1 = new I18N::Collate "scalar_data_1";
$s2 = new I18N::Collate "scalar_data_2";
This module provides you with objects that will collate according to your national character set, provided that the
setlocale() function is supported on your system.
You can compare
$s2 above with
$s1 le $s2
to extract the data itself, you'll need a dereference:
This module uses POSIX::setlocale(). The basic collation conversion is done by
strxfrm() which terminates at
NUL characters being a decent
collate_xfrm() handles embedded
NUL characters gracefully.
The available locales depend on your operating system; try whether
locale -a shows them or man pages for ``locale'' or ``nlsinfo'' or the direct
ls /usr/lib/nls/loc or
ls /usr/lib/nls or
ls /usr/lib/locale. Not all the locales that your vendor supports are necessarily installed:
please consult your operating system's documentation and possibly your
local system administration. The locale names are probably something like
xx_XX.(ISO)?8859N, for example
fr_CH.ISO8859-1 is the Swiss
(CH) variant of French (fr),
ISO Latin (8859) 1 (-1) which is the Western European character set.