До сего дня не имел ни грамма опыта программирования на Perl, мал-мала пописывая на PHP. Но тут меня поставили перед задачей, решить которую просто необходимо.
Есть некоторый сайт, кусок исходного кода которого привожу ниже. И если в IE конечная информация выводится, как надо, то в альтернативных браузерах, таких, как Opera или FireFox, выводится просто исходный код HTML\'я.
#!c:/perl/bin/perl
use strict;
use CGI::Carp qw(fatalsToBrowser);
use lib "mods";
use CGI;
use Mysql;
use sys_Connect_DB;
use sys_Template;
use sys_rcCatalog;
use sys_rcNews;
use sys_rcNews_eng;
my $adm_script = "adm-cp.cgi";
my $adm_css = "config.css";
my $img_path = "/img/";
my $uploads = "uploads/";
my $uploadsurl = "/uploads/";
my $template = "inc";
my %params;
my $title = "test";
print "content-type: text/html\\n\\n";
my $cgi = new CGI;
my @names = $cgi->param;
foreach my $line (@names) {
my $val = $cgi->param($line);
$params{$line} = $val;
}
my $html;
if ($params{page} eq "") {
my $where = "where sign=6";
$html = &sys_Template::sys_Template_HTML("$template/sub.htm", {
list => &sys_rcCatalog::get_Catalog_list(1, "/product/;$uploadsurl;$uploads", 0, \'\', \'width=100% align=right\', \'nopath\'),
body => &sys_rcNews::get_news(\'width=100% align=right\', \'\', $where),
search => &sys_rcCatalog::get_Search_Form(1, "/product/;$uploadsurl;$uploads", $params{cid}, $params{at}, \'width=100% align=right\', \'nolink\'),
title => $title
});
}
print $html;
Т.е. исходный текст страницы передается в переменную $html. При печати этой переменной движок IE интерпретирует хтмл код правильно, а вот Опера, к примеру, видит это, только как обычный текст, соответственно выдавая его на экран.