Qualcuno mi sa dice perchè con il seguente controllo, pure se inserisco nel form un indirizzo email corretto, mi risponde ugualmente che è errato ?

Codice PHP:
<?
$mail 
$_POST['email'];

if ( 
eregi("^([a-z0-9_-])+([\.a-z0-9_-])*@([a-z0-9-])+(\.[a-z0-9-]+)*\.([a-z]{2,6})$"$mail) ) {

   echo 
"OK";

}
else {
  echo 
"Email errata";
}
?>
Ho usato questo controllo in parecchi form che ho creato ma ogni volta la stessa storia, devo rinunciare al controllo della validità dell' indirizzo email inserito... ma stavolta voglio sapere da che dipende...

L' errore può essere legato a PHP5 ? Che forse ha qualcosa di diverso rispetto al 4? Di espressioni regolari non ci capisco nulla...