NAME

Locale::Tie - Get/set locale via (localizeable) variables

VERSION

This document describes version 0.03 of Locale::Tie (from Perl distribution Locale-Tie), released on 2014-10-23.

SYNOPSIS

 use Locale::Tie qw($LANG $LC_ALL $LC_TIME); # ...
 say "Current locale is ", $LANG; # -> en_US.UTF-8
 {
     local $LANG = 'id_ID';
     printf "%.2f\n", 12.34;  # -> 12,34
 }
 printf "%.2f\n", 12.34; # -> 12.34

DESCRIPTION

This module is inspired by File::chdir, using a tied scalar variable to get/set stuffs. One benefit of this is being able to use Perl's "local" with it, effectively setting something locally.

EXPORTS

They are not exported by default, but exportable.

$LANG => str

Alias for $LC_ALL, but won't hashify.

$LC_ALL => str | hash

Return current locale as string. If different parts use different locale (e.g. LC_COLLATE uses one locale and LC_CTYPE uses another) will return a hash, e.g.:

 {
   LC_ADDRESS        => "en_US.UTF-8",
   LC_COLLATE        => "en_US.UTF-8",
   LC_CTYPE          => "en_US.UTF-8",
   LC_IDENTIFICATION => "en_US.UTF-8",
   LC_MEASUREMENT    => "en_US.UTF-8",
   LC_MESSAGES       => "id_ID.UTF-8",
   LC_MONETARY       => "en_US.UTF-8",
   LC_NAME           => "en_US.UTF-8",
   LC_NUMERIC        => "C",
   LC_PAPER          => "en_US.UTF-8",
   LC_TELEPHONE      => "en_US.UTF-8",
   LC_TIME           => "en_US.UTF-8",
 }

$LC_ADDRESS

$LC_COLLATE

$LC_CTYPE

$LC_IDENTIFICATION

$LC_MEASUREMENT

$LC_MESSAGES

$LC_MONETARY

$LC_NAME

$LC_NUMERIC

$LC_PAPER

$LC_TELEPHONE

$LC_TIME

SEE ALSO

POSIX

Locale::Scope

Other modules with the same concept: File::chdir, File::umask, System::setuid.

autolocale which uses Variable::Magic (similar to tie technique) to automatically setlocale() when entry $ENV{LANG} is set.

HOMEPAGE

Please visit the project's homepage at https://metacpan.org/release/Locale-Tie.

SOURCE

Source repository is at https://github.com/perlancar/perl-Locale-Tie.

BUGS

Please report any bugs or feature requests on the bugtracker website https://rt.cpan.org/Public/Dist/Display.html?Name=Locale-Tie

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.

AUTHOR

perlancar <perlancar@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by perlancar@cpan.org.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.