Write a Verilog program to switch the contents of two registers with and without a temporary register.

An example of a Verilog code that switches the contents of two registers with a temporary register :
always @ (posedge clock)  
begin  
temp=y;  
y=x;  
x=temp;  
end.  ?

Without a temporary register, a Verilog program can swap the contents of two registers :
always @ (posedge clock)  
begin  
x <= y;  
y <= x;  
end?