# Represents a public-inbox (which may have multiple mailing addresses)
package PublicInbox::Inbox;
use strict;
+use v5.10.1;
use PublicInbox::Git;
use PublicInbox::MID qw(mid2path);
use PublicInbox::Eml;
# ghosts may have undef smsg (from SearchThread.node) or
# no {blob} field
- return unless defined $smsg;
- defined(my $blob = $smsg->{blob}) or return;
-
- $self->git->cat_file($blob);
+ $smsg // return;
+ $self->git->cat_file($smsg->{blob} // return);
}
sub smsg_eml {
my ($self, $smsg) = @_;
my $bref = msg_by_smsg($self, $smsg) or return;
my $eml = PublicInbox::Eml->new($bref);
- $smsg->populate($eml) unless exists($smsg->{num}); # v1 w/o SQLite
+ $smsg->{num} // $smsg->populate($eml);
$eml;
}
my $smsg;
if (my $mm = $self->mm) {
# favor the Message-ID we used for the NNTP article number:
- defined(my $num = $mm->num_for($mid)) or return;
+ my $num = $mm->num_for($mid) // return;
$smsg = $over->get_art($num);
} else {
my ($id, $prev);
# Read-only search interface for use by the web and NNTP interfaces
package PublicInbox::Search;
use strict;
+use v5.10.1;
use parent qw(Exporter);
our @EXPORT_OK = qw(retry_reopen int_val get_pct xap_terms);
use List::Util qw(max);
my ($self, $cb, @arg) = @_;
for my $i (1..10) {
if (wantarray) {
- my @ret;
- eval { @ret = $cb->($self, @arg) };
+ my @ret = eval { $cb->($self, @arg) };
return @ret unless $@;
} else {
- my $ret;
- eval { $ret = $cb->($self, @arg) };
+ my $ret = eval { $cb->($self, @arg) };
return $ret unless $@;
}
# Exception: The revision being read has been discarded -