This example is wrong. Inside a procedural block like always block you cant use non-blocking assignment operator i.e. <=. You have to always use blocking assignment operator i.e. =