Kevin Ryde > I18N-Langinfo-Wide-8 > I18N::Langinfo::Wide

Download:
I18N-Langinfo-Wide-8.tar.gz

Dependencies

Annotate this POD

Website

CPAN RT

Open  0
View/Report Bugs
Module Version: 8   Source  

NAME ^

I18N::Langinfo::Wide -- langinfo functions returning wide-char strings

SYNOPSIS ^

 use I18N::Langinfo 'ABMON_1';
 use I18N::Langinfo::Wide 'langinfo';
 print langinfo(ABMON_1),"\n";   # "January"

DESCRIPTION ^

This little module offers a langinfo() which is as per I18N::Langinfo but returning wide-char strings rather than locale charset bytes.

EXPORTS ^

Nothing is exported by default, but langinfo() can be imported in usual Exporter style. Eg.

    use I18N::Langinfo::Wide 'langinfo';

There's no :all tag yet, as not sure if it'd be better to import just the new funcs, or everything from I18N::Langinfo too.

FUNCTIONS ^

$str = I18N::Langinfo::Wide::langinfo ($what)

Return a wide-char string of information for the given $what. $what is an integer, one of the constants from I18N::Langinfo like ABDAY_1.

    my $what = I18N::Langinfo::ABDAY_1();
    print I18N::Langinfo::Wide::langinfo($what);  # "Sunday"

As of I18N::Langinfo 0.02 (Perl 5.10.1), all the return values are character strings. The underlying nl_langinfo() function has some byte returns like GROUPING, but they're not available through the Perl interface. The intention would be that I18N::Langinfo::Wide would leave the byte ones as bytes.

$str = I18N::Langinfo::Wide::to_wide ($str)

Return $str converted to a wide-char string. If $str is a byte string then it's assumed be in the current locale charset per langinfo(CODESET). If $str is already wide chars then it's returned unchanged.

BUGS ^

In the GNU C Library 2.10.1 through 2.17, langinfo() on ALT_DIGITS or ERA returns only the first digit or first era. This is a bug in the C library which neither I18N::Langinfo nor I18N::Langinfo::Wide attempt to address. (nl_langinfo() returns nulls \0 between the characters or eras, but the POSIX spec calls for semicolons: http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap07.html.)

SEE ALSO ^

I18N::Langinfo, POSIX::Wide

utf8, for utf8::upgrade which is similar to to_wide but always takes byte input to be latin-1 or ebcdic.

HOME PAGE ^

http://user42.tuxfamily.org/i18n-langinfo-wide/index.html

LICENSE ^

I18N-Langinfo-Wide is Copyright 2008, 2009, 2010, 2011, 2014 Kevin Ryde

I18N-Langinfo-Wide is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.

I18N-Langinfo-Wide is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with I18N-Langinfo-Wide. If not, see http://www.gnu.org/licenses/.

syntax highlighting: