Знаете ли вы, что в PERL'e можно создавать функции по требованию, на лету?
Что это такое и зачем может понадобится?
Скажем, у вас есть функция html_tag:
и вы хотите сделать много функций с названиями соответствующих html тегов. Можно, конечно, вручную написать все определения функций:
но как-то это неправильно, слишком много букв. Оказывается, есть более красивый способ решения этой задачи.
Что это такое и зачем может понадобится?
Скажем, у вас есть функция html_tag:
sub html_tag {
my $tag = shift;
my $msg = shift;
return sprintf('<%s>%s</%s>', $tag, $msg, $tag);
}
и вы хотите сделать много функций с названиями соответствующих html тегов. Можно, конечно, вручную написать все определения функций:
sub h1 { return html_tag('h1',@_); }
sub h2 { return html_tag('h2',@_); }
sub h3 { return html_tag('h3',@_); }
...
но как-то это неправильно, слишком много букв. Оказывается, есть более красивый способ решения этой задачи.