While rare in practice (even by spammers), A single "0" could
theoretically be the entire contents of a Subject line. So
use the Perl 5.10+ defined-or operator to improve correctness
of subject deduplication.
sub dedupe_subject {
my ($prev_subj, $subj, $val) = @_;
sub dedupe_subject {
my ($prev_subj, $subj, $val) = @_;
- my $omit = ''; # '"' denotes identical text omitted
+ my $omit; # '"' denotes identical text omitted
my (@prev_pop, @curr_pop);
while (@$prev_subj && @$subj && $subj->[-1] eq $prev_subj->[-1]) {
push(@prev_pop, pop(@$prev_subj));
push(@curr_pop, pop(@$subj));
my (@prev_pop, @curr_pop);
while (@$prev_subj && @$subj && $subj->[-1] eq $prev_subj->[-1]) {
push(@prev_pop, pop(@$prev_subj));
push(@curr_pop, pop(@$subj));
}
pop @$subj if @$subj && $subj->[-1] =~ /^re:\s*/i;
if (scalar(@curr_pop) == 1) {
}
pop @$subj if @$subj && $subj->[-1] =~ /^re:\s*/i;
if (scalar(@curr_pop) == 1) {
push @$prev_subj, @prev_pop;
push @$subj, @curr_pop;
}
push @$prev_subj, @prev_pop;
push @$subj, @curr_pop;
}
}
sub skel_dump { # walk_thread callback
}
sub skel_dump { # walk_thread callback