Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2011-10-17 19:02:31

  Nicram - Użytkownik

Nicram
Użytkownik
Zarejestrowany: 2006-03-28

perl po polsku

Witam
jak zmusić perla żeby drukował mi po polsku?
mam taki kawałek kodu:

Kod:

#!/usr/bin/perl
use warnings;
use locale;

$w = localtime time;
print "$w\n";

to mi drukuje:

Kod:

Mon Oct 17 18:58:05 2011

czyli po angielsku :(

w sysemie mam:

Kod:

root@testsql:/usr/lib/cgi-bin# locale
LANG=pl_PL.UTF-8
LC_CTYPE="pl_PL.UTF-8"
LC_NUMERIC="pl_PL.UTF-8"
LC_TIME="pl_PL.UTF-8"
LC_COLLATE="pl_PL.UTF-8"
LC_MONETARY="pl_PL.UTF-8"
LC_MESSAGES="pl_PL.UTF-8"
LC_PAPER="pl_PL.UTF-8"
LC_NAME="pl_PL.UTF-8"
LC_ADDRESS="pl_PL.UTF-8"
LC_TELEPHONE="pl_PL.UTF-8"
LC_MEASUREMENT="pl_PL.UTF-8"
LC_IDENTIFICATION="pl_PL.UTF-8"
LC_ALL=pl_PL.UTF-8
root@testsql:/usr/lib/cgi-bin# date
pon, 17 paź 2011, 18:59:15

jak widać date mi drukuje po polsku. jak zmusić perla do tego samego??

Offline

 

#2  2011-10-17 23:37:35

  pioki - Użytkownik

pioki
Użytkownik
Zarejestrowany: 2010-04-10

Re: perl po polsku

Spróbuj w ten sposób:

Kod:

#!/usr/bin/perl
use warnings;
use POSIX qw(strftime);
$data=strftime("%c",localtime());
print $data;

U mnie wydaje się działać...

Offline

 

#3  2011-10-17 23:37:39

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

Re: perl po polsku

Kod:

$ perldoc -f localtime
…
               In scalar context, "localtime()" returns the ctime(3) value:

                   $now_string = localtime;  # e.g., "Thu Oct 13 04:54:34 1994"

               This scalar value is not locale dependent but is a Perl builtin. For GMT instead of local time use the "gmtime" builtin. See also
               the "Time::Local" module (to convert the second, minutes, hours, ... back to the integer value returned by time()), and the POSIX
               module's strftime(3) and mktime(3) functions.

               To get somewhat similar but locale dependent date strings, set up your locale environment variables appropriately (please see
               perllocale) and try for example:

                   use POSIX qw(strftime);
                   $now_string = strftime "%a %b %e %H:%M:%S %Y", localtime;

Offline

 

#4  2011-10-17 23:58:07

  Nicram - Użytkownik

Nicram
Użytkownik
Zarejestrowany: 2006-03-28

Re: perl po polsku

Dzięki.

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)