locale manpage

Search topic Section

locale(3pm)	       Perl Programmers Reference Guide		   locale(3pm)

       locale - Perl pragma to use or avoid POSIX locales for built-in

	   @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

perl v5.16.3			  2013-03-04			   locale(3pm)