--- OneLineBodyRuleType.pm.orig	2008-01-05 15:10:50.000000000 -0600
+++ OneLineBodyRuleType.pm	2008-04-06 17:48:31.000000000 -0500
@@ -94,43 +94,16 @@
     if (($conf->{tflags}->{$rulename}||'') =~ /\bmultiple\b/)
     {
       $loopid++;                 # support multiple matches
-      $sub = '
-      pos $_[1] = 0;
-      '.$self->hash_line_for_rule($pms, $rulename).'
-      while ($_[1] =~ '.$pat.'g) {
-        my $self = $_[0];
-        $self->got_hit(q{'.$rulename.'}, "BODY: ", ruletype => "one_line_body");
-        '. $self->hit_rule_plugin_code($pms, $rulename, "one_line_body",
-                                      "return 1") . '
-      }
-      ';
-
+      $sub = 'pos $_[1]=0;while ($_[1] =~ '.$pat.'g){$_[0]->gh(q{'.$rulename.'},"BODY: ",ruletype=>"one_line_body");'.$self->hit_rule_plugin_code($pms,$rulename,"one_line_body","1;").'}';
     } else {
-      $sub = '
-      '.$self->hash_line_for_rule($pms, $rulename).'
-      if ($_[1] =~ '.$pat.') {
-        my $self = $_[0];
-        $self->got_hit(q{'.$rulename.'}, "BODY: ", ruletype => "one_line_body");
-        '. $self->hit_rule_plugin_code($pms, $rulename, "one_line_body", "return 1") . '
-      }
-      ';
-
+      $sub = 'if($_[1]=~'.$pat.'){$_[0]->gh(q{'.$rulename.'},"BODY: ",ruletype=>"one_line_body");'. $self->hit_rule_plugin_code($pms,$rulename,"one_line_body","1;") . '}';
     }
-
     $self->add_temporary_method ($rulename.'_one_line_body_test', '{'.$sub.'}');
   },
     pre_loop_body => sub
   {
     my ($self, $pms, $conf, %opts) = @_;
-    $self->add_evalstr ('
- 
-      my $bodytext = $self->get_decoded_stripped_body_text_array();
-      $self->{main}->call_plugins("run_body_fast_scan", {
-              permsgstatus => $self, ruletype => "body",
-              priority => '.$opts{priority}.', lines => $bodytext
-            });
-
-    ');
+    $self->add_evalstr ('my $bodytext=$self->get_decoded_stripped_body_text_array();$self->{main}->call_plugins("run_body_fast_scan", {permsgstatus=>$self,ruletype=>"body",priority=>'.$opts{priority}.',lines=>$bodytext});');
   });
 }
 
