On Fri, 24 Sep 2010, Giuseppe Bilotta wrote: > Subject: gitweb: auxiliary function to group data > Errr... what!? git_group() is not "auxiliary function to group data", but a template for output of group of data. It would be probably good to describe how this output looks like (using e.g. ASII-art mockup) in a commit message. > Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@xxxxxxxxx> > --- > gitweb/gitweb.perl | 16 ++++++++++++++++ > 1 files changed, 16 insertions(+), 0 deletions(-) > > diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl > index 7c62701..8f11fb5 100755 > --- a/gitweb/gitweb.perl > +++ b/gitweb/gitweb.perl > @@ -3786,6 +3786,22 @@ sub git_print_header_div { > "\n</div>\n"; > } > > +sub git_group { Name? > + my ($class, $id, @rest) = @_; > + > + my $content_func = pop @rest; > + > + $class = join(' ', 'group', $class); > + > + print $cgi->start_div({ > + -class => $class, > + -id => $id, > + }); > + git_print_header_div(@rest); > + $content_func->() if defined $content_func; More defensive programming would be to use + $content_func->() if ref($content_func) eq 'CODE'; Or even: + if (ref($content) eq 'CODE') { + $content->(); + } elsif (ref($content) eq 'ARRAY') { + print @$content; + } elsif (!ref($content) && defined($content)) { + print $content; + } Well, $content could be also open filehandle... > + print $cgi->end_div; > +} Nice usage of start_div and end_div. > + > sub print_local_time { > print format_local_time(@_); > } > -- > 1.7.3.68.g6ec8 > > -- Jakub Narebski Poland -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html