{ # limit the scope of $/ being undef local $/; $block = } my %template_flds = ( EMAIL => undef ); # just in case %EMAIL% is not in the template while ( $block =~ /\%(\w+)\%/g ) { $template_flds{$1} = undef; } my @query_flds = sort keys %template_flds; $sql = "select ".join(',',@query_flds)." from database"; while( $row = getrow( $sql )) { my $mesg = $block; for ( @query_flds ) { $mesg =~ s/\%$_\%/$row->{$_}/g; } print "Sending to $row->{EMAIL}\n"; send_email( $row->{EMAIL}, $mesg ); }