If a value is not given in the query string, as in the queries ``name1=&name2='' or ``name1&name2'', it will be returned as an empty string. This feature is new in 2.63.
If the parameter does not exist at all, then param() will return undef in a scalar context, and the empty list in a list context.