Я столкнулся с той же проблемой. Я сделал пару изменений, и мне показалось, что это сработало.
сделал первое заявление после ввода скрипта как print content-type.
использовал метод cgi 'header' для печати типа контента, а не жесткого кодирования.
my $ cgi = CGI-> new;
напечатать $ cgi-> header ('text / html');
Я наблюдал заголовок через заголовки Live HTTP в Firefox. Все время до этого изменения это был текст / обычный кусок. После этого изменения он изменился на text / html, и это сработало.
Надеюсь, это сработает и для вас.