Знаете ли вы, что в PERL'e можно создавать функции по требованию, на лету?
Что это такое и зачем может понадобится?

Скажем, у вас есть функция 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',@_); }
...


но как-то это неправильно, слишком много букв. Оказывается, есть более красивый способ решения этой задачи.

Написать комментарий

вернуться к странице