Instantiate problem

Hey!
I have an object of which i want to make couple of clones that move independently of their master.
I am facing problem where when I call Instantiate there is a spawn of couple hunderds of clones which crashes my unity.
Any help would be appreciated.

#pragma strict
var x:double=0.0;
var meteor : GameObject;

var y:double=0.0;
var angle:double=0;
var myArray = new Array();
var l : GameObject;
var flag=0;

function Start ()
{
    angle=Random.Range(0.1, 2);

    //InvokeRepeating("timeout", 0, 2);

    if(flag==0)
        {
        spawn();
        }
    meteor = GameObject.Find("meteorBrown_big3");  //finds object
}



function Update ()
{
 

/*for(var i=0;i<myArray.length;i++)
{
myArray.Add(l);
}
*/

    y+=0.01;
    meteor.transform.Rotate(Time.deltaTime, 0, angle);
    meteor.transform.position = Vector3(x, 11-y, 0);
    l.transform.position = Vector3(0, 0, 0);
}



function spawn()
{
  l=Instantiate(meteor, Vector3(0, 0, 0), Quaternion.identity);
  flag=1;    
                                         
}

I also tryied to simple it down a bit but it still doesnt give me the number of clones i desire.

#pragma strict
var x:double=0.0;
var meteor : GameObject;
var y:double=0.0;
var angle:double=0;
var myArray = new Array(); 
var flag=0;

function Start () 
{
    angle=Random.Range(0.1, 2);

    //InvokeRepeating("timeout", 0, 2);
for(var i=0;i<=5;i++)
{
var l : GameObject=Instantiate(meteor, Vector3(4, 4, -0.01), Quaternion.identity);
}


}



function Update () 
{
   


    y+=0.01;
    meteor.transform.Rotate(Time.deltaTime, 0, angle);
    meteor.transform.position = Vector3(x, 11-y, 0);
   
}

Is your script attached to your meteor prefab? If so, that is the problem… When you instantiate, the function start is called, which instantiate one object, which in turns calls for start, and so on…

You need to attach this script to another gameobject. If it is already the case then there might be another problem…

Hope this helps.