On Wed, 3 Jan 2001, Oleg Gaier wrote: > From: Oleg Gaier <[EMAIL PROTECTED]> > Subject: Perl, localtime, и гадость на выходе. > X-Mailer: Mozilla 4.75 [en] (X11; U; Linux 2.2.16 i686) > > Привет всем. :) > > Тут возникла у меня маленькая проблема. > Вот пишу такой вот скрипт: > > #!/usr/bin/perl > > ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time()); > print "Sec =\t$sec\n"; > print "Min =\t$min\n"; > print "hour =\t$hour\n"; > print "mday =\t$mday\n"; > print "mon =\t$mon\n"; > print "year =\t$year\n"; > print "wday =\t$wday\n"; > print "yday =\t$yday\n"; > print "isdst =\t$isdst\n"; > > И получаю на выходе такую гадость: > > Sec = 9 > Min = 13 > hour = 21 > mday = 3 > mon = 0 # Вот в этих строчках проблема. :( > year = 101 # Сделано это было только что. > wday = 3 > yday = 2 # > isdst = 0 > > [EMAIL PROTECTED]:~ > perl -v > This is perl, version 5.005_03 built for i586-linux > > Подскажите пожалуйста, что я не так делаю.
Доку не читаешь. Ибо там написано что так и должно быть. Месяцы нумеруются с 0 до 11, а годы считаются от 1900. Соответственно, добавить строчки $mon++; и $year+=1900; и твои волосы будут. А еще для любителей извращаться - попробуйте выполнить следующую команду: perl -e '"0xff" + 1' в potato и объяснить результат. Это - уже не фича. -- Victor Wagner [EMAIL PROTECTED] Chief Technical Officer Office:7-(095)-785-09-72 Communiware.Net Home: 7-(095)-135-46-61 http://www.communiware.net http://www.ice.ru/~vitus

