#!/icg/bin/perl -w

use SRS;

#$Mail::SRS::DEBUG = 1;

my $srs = Mail::SRS->new
  ( secret => ["bar"],
    format => 'bounce[% $bounce_delimiter . $sender . $cookie_delimiter . $cookie . $alias_delimiter . $alias %]@bounce.pobox.com',
    extractor_args => sub { my $self = shift; return (@{$self}{qw(cookie_delimiter alias_delimiter address_delimiter)}, '@') }
  );

sub rewrite {
  my ($l, $sender) = @_;
  return if $l == 5;
  my @f;
  $sender ||= q(sen#der@exa-mple.com);
  print +("-" x $l) . "> $_\n" for @f = $srs->forward(
						      sender => $sender,
						      alias  => qq(ali=as-$l\@po-box.com),
						      rcpts  => [qq(rcpt-$l\@example.net)]
						     );
  rewrite($l + 1, $f[0]);

  print "<" . ("-" x $l) . " $_\n" for $srs->reverse(address => $f[0]);
}

rewrite(0);
