- } elsif (m/^primary\-dir([*?]?)\s+(\S+)((?:\s+(\S+))?:\s+(\S+))?$/) {
- ($mod, $dir, $prefix, $suffix) = ($1,qualify($2),$3,$4);
- $suffix= '_db' if !defined $suffix;
- $prefix= '' if !defined $prefix;
+ } elsif (m/^forbid\-addr(?:\s+([0-9. \t]+))?/) {
+ @forbid_addr= defined $1 ? split /\s+/, $1 : ();
+ } elsif (m,^
+ primary\-dir ([*?]?)
+ \s+ (\S+)/([^/ \t]*)
+ (?: \s+ ([^/ \t]*) (?: (/.+) )?
+ )?
+ $,x) {
+ ($mod, $dir, $prefix, $suffix, $subfile) =
+ ($1,qualify($2),$3,$4,$5);
+ $suffix= '' if !defined $suffix;
+ $subfile= '' if !defined $subfile;
+ $suffix= '_db' if !length $suffix && !length $subfile;
+ if (-d "$dir/$prefix") { $dir.='/'; $dir.=$prefix; $prefix=''; }