in reply to Wondering novice...

One of the easiest approaches would be to use a tied hash. The SDBM_File and Fcntl modules come with perl so you shouldn't have to hunt them down and install them from CPAN.
 use Fcntl;
 use SDBM_File;
 my %db_email;
 tie (%db_email, 'SDBM_File', './email.db', O_RDWR | O_CREAT, 0666);

 if(defined $db_email{$email}){
   # already in DB... process apropriately
 }else{
   # not yet in DB
  $ticketnum=get_next_ticket_num();
  $db_email{$email}=$ticketnum;
 }
 untie(%db_email);
Les Howard
www.lesandchris.com
Author of Net::Syslog and Number::Spell