1. это не $DEBUG , а
sub DEBUG {1} # или sub DEBUG {0}
хотя, конечно же $DEBUG так же подойдёт.
2. лично мне кажется, что строка начинающаяся со слова "DEBUG" самая понятная для обозначения отладки.
3. Т.к. я всегда пишу IF одним и тем же способом, такая запись экономит лично мне 2 строки и часть символов
4. Да, это слегка сложнее для понимания, т.к. эта запись не стандартизирована, хотя и является полным аналогом IF(){}
P.S. IF я пиши так:
if(DEBUG)
{
warn "i=$i";
}
Так тут идёт вызов метода, а не функции.
А can возвращает такую же ссылку, как и \&
А вообще-то в подобной задаче, на мой взгляд, лучше использовать хеш
Правда dzhariy зря написал «И тут не используются символические ссылки», т.к. метод can возвращает как раз ссылку на код.
sub DEBUG {1} # или sub DEBUG {0}
хотя, конечно же $DEBUG так же подойдёт.
2. лично мне кажется, что строка начинающаяся со слова "DEBUG" самая понятная для обозначения отладки.
3. Т.к. я всегда пишу IF одним и тем же способом, такая запись экономит лично мне 2 строки и часть символов
4. Да, это слегка сложнее для понимания, т.к. эта запись не стандартизирована, хотя и является полным аналогом IF(){}
P.S. IF я пиши так:
if(DEBUG)
{
warn "i=$i";
}
Благодарю, тема действительно актуальна.
use constant DEBUG => 0;
DEBUG && warn "i=$i";