diff options
Diffstat (limited to 'ACE/bin/ChangeLogEditor/EmailTranslator.pm')
-rw-r--r-- | ACE/bin/ChangeLogEditor/EmailTranslator.pm | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/ACE/bin/ChangeLogEditor/EmailTranslator.pm b/ACE/bin/ChangeLogEditor/EmailTranslator.pm new file mode 100644 index 00000000000..eacbff22497 --- /dev/null +++ b/ACE/bin/ChangeLogEditor/EmailTranslator.pm @@ -0,0 +1,52 @@ +package EmailTranslator; + +# ************************************************************ +# Description : Translate the given user name and domain into +# an email address. +# Author : Chad Elliott +# Create Date : 6/18/2002 +# ************************************************************ + +# ************************************************************ +# Pragmas +# ************************************************************ + +use strict; +use FileHandle; + +# ************************************************************ +# Subroutine Section +# ************************************************************ + +sub new { + my($class) = shift; + my($domain) = shift; + my($self) = bless {'domain' => "\@$domain", + }, $class; + return $self; +} + + +sub translate { + my($self) = shift; + my($name) = shift; + my($domain) = $self->{'domain'}; + my($email) = "$name$domain"; + my(%special) = (); + + if (defined $ENV{REPLYTO}) { + $email = $ENV{REPLYTO}; + } + elsif (defined $special{$name}) { + $email = $special{$name} . $domain; + } + elsif ($name =~ /([^\s]+)\s+([^\s]+)/) { + ## Last name underscore first initial + $email = lc($2 . '_' . substr($1, 0, 1)) . $domain; + } + + return $email; +} + + +1; |