OnCollisionEnter - simple question

function OnCollisionEnter(collision:Collision)
{
    if(collision.gameObject.tag == "Player");
    {
    	Debug.Log("yay");
    }
}

When I save this simple script, it gives me an error that says

expecting :, found ';'.

on the Debug line.

I have a similar script to test CharacterController hits, and it works just fine. Why does this happen? and What is the difference in detecting a collision from the CharacterController versus using an OnCollisionEnter function on a regular object?

Try this:

function OnCollisionEnter(collision:Collision)
{
    if(collision.gameObject.tag == "Player")
    {
        Debug.Log("yay");
    }
}

You don't put a semi-colon after an if statement.