locale - Perl pragma to use or avoid POSIX locales for built-in operations
@x = sort @y; # Unicode sorting order { use locale; @x = sort @y; # Locale-defined sorting order } @x = sort @y; # Unicode sorting order again
This pragma tells the compiler to enable (or disable) the use of POSIX locales for built-in operations (for example, LC_CTYPE for regular expressions, LC_COLLATE for string comparison, and LC_NUMERIC for number formatting). Each "use locale" or "no locale" affects statements to the end of the enclosing BLOCK.
Starting in Perl 5.16, a hybrid mode for this pragma is available,
use locale ':not_characters';
which enables only the portions of locales that don't affect the character set (that is, all except LC_COLLATE and LC_CTYPE). This is useful when mixing Unicode and locales, including UTF-8 locales.
use locale ':not_characters'; use open ":locale"; # Convert I/O to/from Unicode use POSIX qw(locale_h); # Import the LC_ALL constant setlocale(LC_ALL, ""); # Required for the next statement # to take effect printf "%.2f\n", 12345.67' # Locale-defined formatting @x = sort @y; # Unicode-defined sorting order. # (Note that you will get better # results using Unicode::Collate.)
See perllocale for more detailed information on how Perl supports locales.
If your system does not support locales, then loading this module will cause the program to die with a message:
"Your vendor does not support locales, you cannot use the locale module."
To install vars, copy and paste the appropriate command in to your terminal.
cpanm
cpanm vars
CPAN shell
perl -MCPAN -e shell install vars
For more information on module installation, please visit the detailed CPAN module installation guide.