=()= / Говнокод #5792 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
($sec,$min,$hour,$mday,$mon,$year) = localtime(time);
if ($sec < 10) {$sec = "0$sec";}
if ($min < 10) {$min = "0$min";}
if ($hour < 10) {$hour = "0$hour";}
if ($mday < 10) {$mday = "0$mday";}
if ($mon < 10) {$mon = "0$mon";}
$mon++;
$year = 1900 + $year;
print "[$mday-$mon-$year $hour:$min:$sec]\n";

Добиваем нулями

Запостил: rohard rohard, (Updated )

Комментарии (19) RSS

  • Ну если так даже в своих книжках российские авторы пишут, так что нечему удивляться.
    Ответить
  • увеличение месяца по-моему поздно сделали, форматирование собьется ))
    Ответить
    • нет, это в порядке.

      $mon после "0$mon" есть строка, а перл строки строчно инкрементит.
      Ответить
      • Все равно мне кажется, что инккрементить строку неверно, надо сначала увелить значение месяца а потом уж делать форматирование
        Ответить
        • в перле нет такого понятия "верно/неверно" - это применимо только к содержимому головы программиста 😉
          Ответить
          • надо писать конструкции, в которых ты уверен. Потому что инкремент строки может еще означать неявное преобразование в число
            Ответить
          • В перле вообще всё верно и любая последовательность символов скомпилится.
            Ответить
            • >>В перле
              >>скомпилится
              не-а

              в оригинале фраза звучала так: "любая последовательность символов является валидной программой на языке перл"
              Ответить
              • > в оригинале
                на русском или вы перевели?

                > валидной
                если перевели, то зачем использовать жаргонизмы?
                Ответить
    • И о существовании printf и sprintf тоже?

      А если уж извращаться, то только с регулярками:
      $sec =~ s/^\d$/0$&/;
      и т.д.
      Ответить

Добавить комментарий

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8