Size: a a a

2020 January 22

VG

Vadim Goncharov in Modern::Perl
точнее, в сях это традиционно решается макросом
источник

AP

Anton Petrusevich in Modern::Perl
я, к примеру, делал так:
 debug { тут блок кода, возвращающий список параметров };
логгер читает конфигурацию и рутит параметры как надо в аппендеры, может в несколько сразу: на экран, в файл и грейлог.
источник

VG

Vadim Goncharov in Modern::Perl
хм, визуально выглядит неплохо
источник

VG

Vadim Goncharov in Modern::Perl
но будет таки стоить вызова функции, да?
источник

AP

Anton Petrusevich in Modern::Perl
я ж и начал с того что стоить будет скорости. можно конечно if $debug добавить, но уже так себе мысль то
источник

AK

Andrey Konovalov in Modern::Perl
Vadim Goncharov
ну я хочу короткое имя макроса, которое развернется в такой if, грубо говоря
И чем плох вариант сборки кода на лету?
источник

VG

Vadim Goncharov in Modern::Perl
Andrey Konovalov
И чем плох вариант сборки кода на лету?
ну типа не выжать совсем уж
источник

AP

Anton Petrusevich in Modern::Perl
Andrey Konovalov
И чем плох вариант сборки кода на лету?
для примера, как его соптимизировать, чтобы обойтись вообще без вызова?
источник

VG

Vadim Goncharov in Modern::Perl
код всё-таки будет вызван
источник

S

Sergey in Modern::Perl
Vadim Goncharov
а есть чем сделать аналоги сишных макросов? вот за этим, в Си я делаю
#ifdef DEBUG
#define DEBUGLOG dprintf ...
#else
#define  DEBUGLOG
#endif
и без дебага вызовы макроса просто исчезнут из сырца

а вот если я в Перле пишу допустим
AE::log debug => "dump: %s", map {тут хекс-распечатка}
то он всё-таки выполнит и распарсит аргументы перед тем, как AE::log проверит, что щас таки не дебаг и ничего выводить не надо
Я делал sub::disable, но он не доведен до ума
источник

AK

Andrey Konovalov in Modern::Perl
Vadim Goncharov
ну типа не выжать совсем уж
Нихт ферштейн
источник

AK

Andrey Konovalov in Modern::Perl
Anton Petrusevich
для примера, как его соптимизировать, чтобы обойтись вообще без вызова?
Вырезать! Исходный текст - это просто текст, строка такая огромная
источник

AP

Anton Petrusevich in Modern::Perl
тогда придётся написать парсер перла
источник

VG

Vadim Goncharov in Modern::Perl
говорят, есть какие-то сорс-фильтры
источник

AP

Anton Petrusevich in Modern::Perl
есть, но они не умеют парсить перл
источник

AP

Anton Petrusevich in Modern::Perl
т.е. придётся парсер писать с нуля
источник

AK

Andrey Konovalov in Modern::Perl
Anton Petrusevich
тогда придётся написать парсер перла
Зачем???? Что за бред
источник

VG

Vadim Goncharov in Modern::Perl
а сделать типа макроса - умеют?
источник

AP

Anton Petrusevich in Modern::Perl
Vadim Goncharov
а сделать типа макроса - умеют?
со своей грамматикой — да
источник

AP

Anton Petrusevich in Modern::Perl
Andrey Konovalov
Зачем???? Что за бред
затем! (с)
источник