- $list_id = lc($list_id);
- my $ibx = $self->{-by_list_id}->{$list_id};
- return $ibx if $ibx;
-
- my $pfx;
-
- foreach my $k (keys %$self) {
- $k =~ /\A(publicinbox\.[\w-]+)\.listid\z/ or next;
- my $v = $self->{$k};
- if (ref($v) eq "ARRAY") {
- foreach my $alias (@$v) {
- (lc($alias) eq $list_id) or next;
- $pfx = $1;
- last;
- }
- } else {
- (lc($v) eq $list_id) or next;
- $pfx = $1;
- last;
- }
- }
- defined $pfx or return;
- _fill($self, $pfx);