Addresses are converted from quoted form into internal (raw) form
Enquanto eu leio isso, read_hash () não serve para expressões regulares.
There is a subroutine read_hash() available for use in amavisd.conf.
It can read keys from a plain text file, and load them into a Perl hash.
Format of the text file: one address per line, anything from '#' to the end
of line is treated as a comment, but '#' within correctly quoted rfc2821
addresses is not treated as a comment (e.g. a hash sign within
"strange # \"foo\" address"@example.com is valid). Leading and trailing
whitespace is discarded, empty lines (containing only whitespace and comment)
are ignored. Addresses are converted from quoted form into internal (raw)
form and inserted as keys into a given hash, with a value of 1 (true).
Each address can have an associated optional value (also known as the
'righthand side' or RHS) separated from the address by whitespace.
An absence of a value implies 1 (true). The $hashref argument is returned
for convenience, so that one can say for example:
$per_recip_whitelist_sender_lookup_tables = {
'.my1.example.com' => read_hash({},'/var/amavis/my1-example-com.wl'),
'.my2.example.com' => read_hash({},'/var/amavis/my2-example-com.wl') }
Fonte: link
Eu acho que você poderia fazer alterações no código de read_hash () - é perl.
Na verdade, isso provavelmente seria ruim em vez disso, clone-o para um novo nome para evitar quebrar qualquer coisa.