Вопрос по perl про переключение локалей
Nov. 27th, 2005 08:43 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Общая постановка задачи: Как в процессе работы перлового скрипта переключиться с однойдругую на дргугую.
Задача для частного случая: Два раза напечатать дату. Один раз в локале из которой скрипт бвторойщен, втоврой раз
в локале en_US (В системе такая локаль есть)
Пробуем решить:
Решение не верное. Оба раза дата выводится по русски...
Где ошибка, куда копать?
Задача для частного случая: Два раза напечатать дату. Один раз в локале из которой скрипт бвторойщен, втоврой раз
в локале en_US (В системе такая локаль есть)
Пробуем решить:
use strict; use POSIX; print strftime("%B %d, %Y",0, 0, 0, 30, 10, 79)."\n"; setlocale('LC_ALL','en_US'); $ENV{'LANGUAGE'} = 'en_US'; $ENV{'LANG'} = 'en_US'; $ENV{'LC_ALL'} = 'en_US'; print strftime("%B %d, %Y",0, 0, 0, 30, 10, 79)."\n";
Решение не верное. Оба раза дата выводится по русски...
Где ошибка, куда копать?
no subject
Date: 2005-11-27 06:01 pm (UTC)require 5.004;
use warnings;
use strict;
# Import locale-handling tool set from POSIX module.
# This example uses: setlocale -- the function call
# LC_CTYPE -- explained below
use POSIX qw(locale_h strftime);
print strftime("%B %d, %Y",0, 0, 0, 30, 10, 79)."\n";
setlocale(LC_ALL, "en_US");
print strftime("%B %d, %Y",0, 0, 0, 30, 10, 79)."\n";
----
$ cat /etc/fedora-release
Fedora Core release 4 (Stentz)
----
$ perl -v
This is perl, v5.8.6 built for i386-linux-thread-multi