HLSL variable woes

Whereas the OpenGl context in GLSL provides global variables for different aspects, input and output variables must be strictly defined in HLSL. Unity does provide some set variables for easier integration with the graphics engine, like _WorldSpaceLightPos0 for the light position. For a scalar variable I had correctly written Float in ShaderLab properties but float4 (4 dim vector) in the CGPROGRAM section. Faire attention SVP!