Avoid "conditional and" for checking after plugins "start" and stuffing @plugins
[matthijs/upstream/blosxom.git] / blosxom.cgi
index ee085a38503133baeabd150cff5e7d849500f66d..c51ca2a9d2cc1f21b98988085c68a0380f22aa88 100755 (executable)
@@ -250,15 +250,29 @@ foreach my $plugin ( @plugin_list ) {
   else {
     eval { require $plugin };
   }
-  $@ and warn "$@ error finding or loading blosxom plugin $plugin_name - skipping\n" and next;
-  $plugin_name->start() and ( $plugins{$plugin_name} = $on_off ) and push @plugins, $plugin_name;
+
+  if ($@) {
+      warn "error finding or loading blosxom plugin '$plugin_name': $@";
+      next;
+  }
+  if ( $plugin_name->start() and ( $plugins{$plugin_name} = $on_off ) ) {
+      push @plugins, $plugin_name;
+  }
+
 }
 shift @INC foreach @plugin_dirs;
 
 # Plugins: Template
 # Allow for the first encountered plugin::template subroutine to override the
 # default built-in template subroutine
-my $tmp; foreach my $plugin ( @plugins ) { $plugins{$plugin} > 0 and $plugin->can('template') and defined($tmp = $plugin->template()) and $template = $tmp and last; }
+foreach my $plugin (@plugins) {
+    if ( $plugins{$plugin} > 0 and $plugin->can('template') ) {
+        if ( my $tmp = $plugin->template() ) {
+            $template = $tmp;
+            last;
+        }
+    }
+}
 
 # Provide backward compatibility for Blosxom < 2.0rc1 plug-ins
 sub load_template {
@@ -381,7 +395,11 @@ else {
 }
 
 # Plugins: End
-foreach my $plugin ( @plugins ) { $plugins{$plugin} > 0 and $plugin->can('end') and $entries = $plugin->end() }
+foreach my $plugin (@plugins) {
+    if ( $plugins{$plugin} > 0 and $plugin->can('end') ) {
+        $entries = $plugin->end();
+    }
+}
 
 # Generate 
 sub generate {
@@ -493,7 +511,7 @@ sub generate {
       ($dw,$mo,$mo_num,$da,$ti,$yr,$utc_offset) = nice_date($files{"$path_file"});
       ($hr,$min) = split /:/, $ti;
       ($hr12, $ampm) = $hr >= 12 ? ($hr - 12,'pm') : ($hr, 'am'); 
-      $hr12 =~ s/^0//; $hr12 == 0 and $hr12 = 12;
+      $hr12 =~ s/^0//; if ($hr12 == 0) {$hr12 = 12};
   
       # Only stories from the right date
       my($path_info_yr,$path_info_mo_num, $path_info_da) = split /\//, $date;