use CGI; my $q = CGI->new; use Data::Dumper; %cgi_vars = ( a => 1, fname => '', ); my $q = CGI->new(); ## This worked if ($cgi_vars{fname}) { $q->param('fname' => $cgi_vars{fname}); } else { $q->param('fname' => ""); } print Dumper($q->param('fname')); $q = CGI->new; ## But this did not $q->param('fname' => $cgi_vars{fname}); print Dumper($q->param('fname')); __END__ $VAR1 = ''; $VAR1 = '';