my $count = $string =~ tr/@//; #### $CHARS = '(<|>|\[|\])'; #### $CHARS = qr/([][<>])/; #### $id = $1 if (/msgid=([^:]+):/); $id =~ s/(^<|>$)//g; #### ($id) = /msgid=<([^>]+)/; #### if (!$id || $id =~ /^(\s+|)$/) { $no_id++; next; } #### (@data) = grep(!/received from internet:/, @in); (@data) = grep(!/Error-Handler/, @data) if ( grep(/Error-Handler/, @data) && $data[1] ); #### if ($data[1]) { # Do you really mean that, by the way? my (@t1,@t2); @t1 = map { if (/Error-Handler/) { $_ } else { !/received from internet:/ and push @t2, $_; (); } } @data; @data = @t2 if @t1; } #### if ($line[0] =~ /( |-)([a-zA-Z]+)$/) { #### if ($line[0] =~ /[ -](a-zA-Z]+)$/) {