Это должно сработать:
print header(
-refresh => '0; url=homepage.pl.cgi',
-cookie => $cookie,
);
Если вы собираете заголовок по частям, в разных местах кода, сначала сохраните компоненты заголовка в переменной, например ::
my %headers;
# later...
$headers{-cookie} = $cookie;
# later still:
if (exists $SIDhash{SID})
{
# we want to redirect, so print all headers and we're done.
print header(%headers, -refresh => '0; url=homepage.pl.cgi');
exit;
}
# if we're still here, nothing is printed yet.. continue preparing data and print when ready.
# ...