nella funzione mancano le graffe dell'IF ma è corretto, se c imetti un po' di impaginazione risulta più facile vedere che è corretto anche senza graffe
Codice PHP:
function verifica_mail($email

  
$controllo 0
  if (!
eregi("^[a-zA-Z0-9_\.]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$"$email)) 
    
$controllo 1
  return 
$controllo

per il controllo puoi semplificarlo ancora un pochino

Codice PHP:
if(verifica_mail($mail)){
echo 
"errore";