my $var=3; mysleep($var); # these two lines are fine mysleep(3); # but this one causes an error!!! sub mysleep { sleep($_[0]); $_[0]=10; } #### $y=substr("hello",10,1); foo($y);# this runs, but substr() generates warnings because the substr() is outside the string foo( substr("hello",10,1) ); # this is a fatal error!