I18N::Collate - compare 8-bit scalar data according to the current locale
use I18N::Collate; setlocale(LC_COLLATE, 'locale-of-your-choice'); $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 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.
locale -a
ls /usr/lib/nls/loc
ls /usr/lib/nls
ls /usr/lib/locale
xx_XX.(ISO)?8859-N
xx_XX.(ISO)?8859N
fr_CH.ISO8859-1
To install lib, copy and paste the appropriate command in to your terminal.
cpanm
cpanm lib
CPAN shell
perl -MCPAN -e shell install lib
For more information on module installation, please visit the detailed CPAN module installation guide.