I18N::Collate - compare 8-bit scalar data according to the current locale
- use I18N::Collate;
 - setlocale(LC_COLLATE, 'locale-of-your-choice');
 - $s1 = I18N::Collate->new("scalar_data_1");
 - $s2 = I18N::Collate->new("scalar_data_2");
 
- ***
 - WARNING: starting from the Perl version 5.003_06
 - the I18N::Collate interface for comparing 8-bit scalar data
 - according to the current locale
 - HAS BEEN DEPRECATED
 - That is, please do not use it anymore for any new applications
 - and please migrate the old applications away from it because its
 - functionality was integrated into the Perl core language in the
 - release 5.003_06.
 - See the perllocale manual page for further information.
 - ***
 
This module provides you with objects that will collate according to your national character set, provided that the POSIX setlocale() function is supported on your system.
You can compare $s1 and $s2 above with
- $s1 le $s2
 
to extract the data itself, you'll need a dereference: $$s1
This module uses POSIX::setlocale(). The basic collation conversion is done by strxfrm() which terminates at NUL characters being a decent C routine. 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 approach 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)?8859-N or
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.