# Plugins: Interpolate
# Allow for the first encountered plugin::interpolate subroutine to
# override the default built-in interpolate subroutine
- my $tmp; foreach my $plugin ( @plugins ) { $plugins{$plugin} > 0 and $plugin->can('interpolate') and defined($tmp = $plugin->interpolate()) and $interpolate = $tmp and last; }
+ foreach my $plugin (@plugins) {
+ if ( $plugins{$plugin} > 0 and $plugin->can('interpolate') ) {
+ if ( my $tmp = $plugin->interpolate() ) {
+ $interpolate = $tmp;
+ last;
+ }
+ }
+ }
# Head
my $head = (&$template($currentdir,'head',$flavour));
# Plugins: Head
- foreach my $plugin ( @plugins ) { $plugins{$plugin} > 0 and $plugin->can('head') and $entries = $plugin->head($currentdir, \$head) }
+ foreach my $plugin (@plugins) {
+ if ( $plugins{$plugin} > 0 and $plugin->can('head') ) {
+ $entries = $plugin->head( $currentdir, \$head );
+ }
+ }
$head = &$interpolate($head);
# Plugins: Sort
# Allow for the first encountered plugin::sort subroutine to override the
# default built-in sort subroutine
- my $tmp; foreach my $plugin ( @plugins ) { $plugins{$plugin} > 0 and $plugin->can('sort') and defined($tmp = $plugin->sort()) and $sort = $tmp and last; }
+ foreach my $plugin (@plugins) {
+ if ( $plugins{$plugin} > 0 and $plugin->can('sort') ) {
+ if ( my $tmp = $plugin->sort() ) {
+ $sort = $tmp;
+ last;
+ }
+ }
+ }
foreach my $path_file ( &$sort(\%f, \%others) ) {
last if $ne <= 0 && $date !~ /\d/;
my $story = (&$template($path,'story',$flavour));
# Plugins: Story
- foreach my $plugin ( @plugins ) { $plugins{$plugin} > 0 and $plugin->can('story') and $entries = $plugin->story($path, $fn, \$story, \$title, \$body) }
+ foreach my $plugin (@plugins) {
+ if ( $plugins{$plugin} > 0 and $plugin->can('story') ) {
+ $entries = $plugin->story( $path, $fn, \$story, \$title, \$body );
+ }
+ }
if ($content_type =~ m{\bxml\b}) {
# Escape <, >, and &, and to produce valid RSS
my $foot = (&$template($currentdir,'foot',$flavour));
# Plugins: Foot
- foreach my $plugin ( @plugins ) { $plugins{$plugin} > 0 and $plugin->can('foot') and $entries = $plugin->foot($currentdir, \$foot) }
+ foreach my $plugin (@plugins) {
+ if ( $plugins{$plugin} > 0 and $plugin->can('foot') ) {
+ $entries = $plugin->foot( $currentdir, \$foot );
+ }
+ }
$foot = &$interpolate($foot);
$output .= $foot;