1 package Debbugs::Email;
7 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
9 # set the version for version checking
13 @EXPORT = qw( %GTags );
14 %EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ],
16 # your exported package globals go here,
17 # as well as any optionally exported functions
18 @EXPORT_OK = qw( %GTags );
22 use Debbugs::Config qw(%Globals);
24 # initialize package globals, first exported ones
27 #############################################################################
28 # Initialize Global Tags
29 #############################################################################
33 print "V: Initializing Email Tags\n" if $Globals{ 'verbose' };
34 for( my $i=0; $i<=$#config; $i++)
37 next unless length $_;
39 if ( /^GTAG\s*[:=]\s*(\S)+\s*[:=]\s*([^#]*)/i )
41 print "D2: (email) GTag $1=$GTags{$1}\n" if $Globals{ 'debug' } > 1;
46 #############################################################################
48 #############################################################################
50 { my $emailfile = $_[0];
53 open( LETTER, $emailfile ) or &::fail( "Unable to open $emailfile: $!" );
56 &ProcessTags( \@email, \%GTags, "GTAG" );
59 #############################################################################
61 #############################################################################
63 { my ($email, $tagsin, $marker) = @_;
67 print "V: Processing Template Mail\n" if $Globals{ 'verbose' };
68 foreach my $line ( @$email )
69 { while( $line =~ /\%$marker\_(\S*)\%/s )
70 { if( defined( $tags{ $1 } ) ) { $tag = $tags{ $1 }; }
71 else { $tag = "(missed tag $1)"; }
72 $line =~ s/\%$marker\_(\S*)\%/$tag/;
78 END { } # module clean-up code here (global destructor)