November 2019

S M T W T F S
      12
34 5 678 9
10111213141516
17181920212223
24252627282930

Style Credit

Expand Cut Tags

No cut tags
Monday, October 6th, 2008 04:29 pm
эти крутые программисты на перле написали для парсинга логов скрипт аж на 15 килобайт. с командной строкой, выбором файлов по дате в имени, с POD-документацией, use warnings; use strict; use 5.6.0 (хотя непонятно, нафига) и прочими рюшечками.

Но. Проверка на обнаруженность искомых паттернов в очередной строке лога выглядит так:
if (!$1 || !$2 || !$3)
  {
  log_msg <<END;
Malformed regular expression "$regexp": did not get expected matches for time-
stamp, name and elapse-time.
END
  }

Уроды.
Monday, October 6th, 2008 03:52 pm (UTC)
Это в [livejournal.com profile] emo_coders, наверное, кандидаты ? :)
Monday, October 6th, 2008 04:53 pm (UTC)
мм.. а что тут собственно вызывает столько ненависти?
Monday, October 6th, 2008 05:06 pm (UTC)
вопрос на сообразительность: что будет, если $3 eq '0' ?
Monday, October 6th, 2008 05:22 pm (UTC)
оу.. чудненько, про это я не подумал :)
Monday, October 6th, 2008 06:31 pm (UTC)
а я как раз на это и нарвался. что и спровоцировало пятиминутку.
Monday, October 6th, 2008 05:23 pm (UTC)
Что взять с людей, у который функция by design может вернуть '0 but true'
Monday, October 6th, 2008 05:53 pm (UTC)
не может. 0 is false. As is "" and "undefined".
Monday, October 6th, 2008 06:01 pm (UTC)
http://www.google.com/search?q=%220+but+true%22
Monday, October 6th, 2008 06:03 pm (UTC)
спасибо, капитан очевидность :)
В моё время писали 0E0
Monday, October 6th, 2008 06:36 pm (UTC)
ну, неопределено в смысле просто задефайнено и всё. Оно немного отличается от ""
Monday, October 6th, 2008 06:36 pm (UTC)
в смысле НЕ задефайнено.
Monday, October 6th, 2008 05:54 pm (UTC)
Вопрос на сообразительность, на самом деле, другой. Почему $1, $2 и $3 сделаны как [четотам]*, а не [четотам]+.
Monday, October 6th, 2008 06:28 pm (UTC)
они, ты будешь смеяться, сделаны как че-то-там+.

Но поскольку сильно вумный скрипт предусматривает возможность указания регулярного выражения вручную в командной строке (!), то на всякий случай есть эта проверка.
Monday, October 6th, 2008 06:35 pm (UTC)
а, и if regexp тоже есть?
Умные чуваки :)
Monday, October 6th, 2008 06:49 pm (UTC)
Оне его даже предварительно компилируют и проверяют, не случилась ли при этом ошибка
Monday, October 6th, 2008 06:06 pm (UTC)
Поэтому меня радует Lua, у которой все что не nil или false - true.