Mi sapreste spiegare perchè questo codice non mi accetta la mia mail, anzi ritiene che essa non sia affatto un indirizzo mail?
	Codice PHP:
	
function check_mail($value)
  {
    global $_CONFIG;
    $value = trim($value);
    if($value == '')
    {    return '
Ehi! Ti sei dimeticato di darmi la mail!</p>'.PHP_EOL;}
  if(!preg_match( '/^[w.-]+@w+[w.-]*?.w{1,4}$/', $value))
    {return '
Mi dispiace, ma questo non è un indirizzo e-mail! Me ne devi dare uno corretto!</p>';}
    $query = mysql_query("SELECT id    FROM $_CONFIG[table_utenti]    WHERE mail='$value'");
    if(mysql_num_rows($query) != 0)
        { return '
Mi dispiace, ma già qualcun altro ha la tua mail! Me ne devi dare un\'altra!</p>'.PHP_EOL;}
    return TRUE;
  } 
 
NB L'errore è nel preg_match