Manipulating Tagged Game Objects with Raycasting

Hello I have created a script that creates a raycast from a camera to seek out an object with a specific tag, although now I want to find a way to manipulate the object once it is found. In this case it is for a vacuum script, where I am getting stumped is how to save the object to a single variable so that it will be easier to manipulate it. My intentions was to save it to the target variable so that I can manipulate the object from there. So any suggestions for how best to do this? I placed the code I wrote up below and thanks in advance to anyone who replies.

var vacRange = 30.0;
var target: Transform;

function Update(){

	if (Input.GetKeyDown(KeyCode.E)){
		var hit : RaycastHit;
    	if(Physics.Raycast(transform.position, transform.forward, hit, vacRange)) {
        	print("hit something");
        	if(hit.transform.tag=="Food"){
        		print("hitting food");
        	}else{
        		print("not working");
        	}
    	}
    }
}
if(hit.transform.tag=="Food") {
    target = hit.transform;
}

Thank you a bunch, worked perfectly.

Alright so the script is working fine now but I was wondering if there is a away to make the raycast use the full camera view instead of shooting directly in front of itself. The camera is running from within an object that is parented to a player character. The game runs in 3rd person view. So I was wondering is it possible or can rays only shoot in a strait line from their origin? What I am aiming to do is get the ray to shoot in more of a cone shape than a strait line.

var vacRange = 30.0;
var target: Transform;

function Update(){

	if (Input.GetKeyDown(KeyCode.E)){
		var hit : RaycastHit;
    	if(Physics.Raycast(transform.position, transform.forward, hit, vacRange)) {
        	if(hit.transform.tag=="Food"){
        		target=hit.transform;
        		target.renderer.enabled=false;
        	}
    	}
    }
}