mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-29 13:00:32 +01:00
22 lines
1.2 KiB
Text
22 lines
1.2 KiB
Text
|
Perl module to determine the locale encoding.
|
||
|
|
||
|
In many applications it's wise to let Perl use Unicode for the strings
|
||
|
it processes. Most of the interfaces Perl has to the outside world is
|
||
|
still byte based. Programs therefore needs to decode byte strings that
|
||
|
enter the program from the outside and encode them again on the way out.
|
||
|
The POSIX locale system is used to specify both the language conventions
|
||
|
requested by the user and the preferred character set to consume and
|
||
|
output. The Encode::Locale module looks up the charset and encoding
|
||
|
(called a CODESET in the locale jargon) and arrange for the Encode module
|
||
|
to know this encoding under the name "locale". It means bytes obtained
|
||
|
from the environment can be converted to Unicode strings by calling
|
||
|
Encode::encode(locale => $bytes) and converted back again with
|
||
|
Encode::decode(locale => $string).
|
||
|
Where file systems interfaces pass file names in and out of the program
|
||
|
we also need care. The trend is for operating systems to use a fixed file
|
||
|
encoding that don't actually depend on the locale; and this module
|
||
|
determines the most appropriate encoding for file names. The Encode
|
||
|
module will know this encoding under the name "locale_fs". For
|
||
|
traditional Unix systems this will be an alias to the same encoding
|
||
|
as "locale".
|