Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> написать в одну строку 
V
    Опции темы
gcc
Дата 1.4.2011, 00:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: 1
Всего: 17



есть код:
Код

($sec,$min,$hour,$mday,$mon,$year,$wday,
$yday,$isdst)=localtime(time);
printf "%4d-%02d-%02d %02d:%02d:%02d\n",$year+1900,$mon+1,$mday,$hour,$min,$sec;


мне нужно вывести только:
Код

printf "%4d-%02d-%02d"

2011-03-31


пробую написать, но не получатеся подставить $year+1900,$mon+1  в:

Код

#print keys %{ map { {$_->[0]=>1} } ([@{[localtime(time)]}[3..5]])x3 };
 
# print Dumper map $_,  { @{[localtime(time)]}[3..5] => @{[localtime(time)]}[3..5] }; 
 
 # print map $_, my $t = shift @{[localtime(time)] } ;

#print map { $_->[0] } map {  ([ ${[localtime(time)]}[$_]]) } 3..5
 

#print join "-", map {  ( @{[localtime(time)]}[3..5]) } qw(1900 1 0)
 
 
# map {  ( @{[localtime(time)]}[3..5]) } 0..3


# print map {@$_} (@{[localtime(time)]}[3..5])x3;

#print join "-", map $_, my $u = @{[localtime(time)]}[3..5]; print Dumper $u ; #qw(1900 1 0)



как написать в одну строку?

Это сообщение отредактировал(а) gcc - 1.4.2011, 00:10
PM WWW ICQ Skype GTalk Jabber   Вверх
arto
Дата 1.4.2011, 06:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: 38
Всего: 40



sub { $_[5]+1900,$_[4]+1,$_[3] }->(localtime)
PM MAIL ICQ   Вверх
ming
Дата 1.4.2011, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 30.1.2009
Где: Новосибирск

Репутация: 2
Всего: 3



Код

use POSIX 'strftime';
print strftime("%Y-%m-%d", localtime);

PM MAIL ICQ Jabber   Вверх
arto
Дата 1.4.2011, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: 38
Всего: 40



# perlbloat POSIX
POSIX added  652k
#perl -MPOSIX=strftime -MBenchmark=timethese -e 'timethese ($ARGV[0], { A => sub { sprintf "%s-%s-%s", sub { $_[5]+1900,$_[4]+1,$_[3] }->(localtime) }, B => sub { strftime("%Y-%m-%d", localtime); } } )' 10000000
Benchmark: timing 10000000 iterations of A, B...
         A: 76 wallclock secs (52.32 usr + 24.36 sys = 76.68 CPU) @ 130412.10/s (n=10000000)
         B: 112 wallclock secs (55.45 usr + 56.47 sys = 111.92 CPU) @ 89349.54/s (n=10000000)
# 
PM MAIL ICQ   Вверх
ming
Дата 1.4.2011, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 30.1.2009
Где: Новосибирск

Репутация: 2
Всего: 3



Цитата(arto @  1.4.2011,  17:00 Найти цитируемый пост)
 

интересно зачем же люди тогда придумали strftime? ведь он же МЕДЛЕННЫЙ!  smile 
PM MAIL ICQ Jabber   Вверх
gcc
Дата 1.4.2011, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: 1
Всего: 17



arto, спасибо, работает!

ming, спасибо, мне нужно было узнать именно про конструкции perl, то как написать в данном случае...

Это сообщение отредактировал(а) gcc - 1.4.2011, 14:36
PM WWW ICQ Skype GTalk Jabber   Вверх
arto
Дата 1.4.2011, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: 38
Всего: 40



у него форматная строка хорошая:

# LC_ALL=ru_RU.utf8 perl -MPOSIX=strftime -le 'print strftime "%a: %A",localtime'
Птн: Пятница
# 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1164 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.