A guarded sender rewriting scheme (recommended)
use Mail::SRS::Guarded; my $srs = new Mail::SRS::Guarded(...);
This is the default subclass of Mail::SRS. An instance of this subclass is actually constructed when \*(L"new Mail::SRS\*(R" is called.
Note that allowing variable separators after the SRS\d token means that we must preserve this separator in the address for a possible reversal. \s-1SRS1\s0 does not need to understand the \s-1SRS0\s0 address, just preserve it, on the assumption that it is valid and that the host doing the final reversal will perform cryptographic tests. It may therefore strip just the string \s-1SRS0\s0 and not the separator. This explains the appearance of a double separator in SRS1<sep><hostname>=<sep>.
See Mail::SRS for details of the standard \s-1SRS\s0 subclass interface. This module provides the methods compile() and parse(). It operates without store, and guards against gaming the shortcut system.
Mail::SRS