Sep 25, 2012 12:33
Ну это конечно ерунда, но всё равно мне было любопытно. Задача получить текущую дату в формате ГГММДД.
Поддавшись противоестественному желанию сделать всё плохо, я написал следующее:
my ($mday, $mon, $year);
(undef,undef,undef,$mday,$mon,$_,undef,undef,undef) = localtime(time);
$_ += 1900;
$mon++;
$mon= '0'.$mon if ($mon=~/^(d)$/);
s/dd(dd)/$1/;
$dte = $_.$mon.$mday;
say "Current date is $dte";
но тут же поняв, что за такой код я рискую быть расстрелянным, быстро исправил ситуацию:
say "Current date is ".strftime("%y%m%d",localtime(time));
Если что-то делаешь и вдруг понимаешь, что выходит у тебя всамделешный велосипед, надо сразу загуглить и найти как это было сделано до тебя.
PS. Да там ещё в начале надо use POSIX qw /strftime/;.
perl,
меткаобозначающаяотсутствиеметки,
Технократия