Спасибо NeoNox. Все самой решилось. Это сервер приглючило после моих опытов. Перезагрузил apache и все встало на свое место.
Хотелось бы еще спросить. Делаю проверку на наличие этого модуля. Сделал нижеприведенным образом. Криво или можно как-то проще? Просто, если человек не имеет этого модуля хочется чтобы программа нормально дальше работала, а не выводила 500 ошибку. Только хочется, чтобы без модулей, не входящих в стандартную поставку перла, было.
sub http_get
{
my ($text,$road) = @_; #text - наш текст, который мы проверяем на link, road - путь к корневой директории сайта
my ($temp, $temp_inc, $flag);
my $bee_split = chr(128);
if ($text =~ /(<\\!--\\*\\s*http\\s*-->.+?<\\!--\\*\\s*\\/http\\s*-->)/i)
{
foreach $temp (@INC)
{
$temp_inc = $temp;
if ($temp_inc !~ /\\/$/) {$temp_inc .= "/";}
$temp_inc .= "LWP/Simple.pm";
if (-f $temp_inc) {$flag = 1;}
}
if ($flag != 1)
{
my $lng_file = ${\\LNG_FILE}; # LNG_FILE - название файла с русским текстом
if ($lng_file =~ /^\\//) {$lng_file =~ s!^/!!;}
my $road_lng = $road; $road_lng .= $lng_file;
open (LNG, "$road_lng") || warn "don\'t open lng file: $!";
foreach () {chomp(); $temp .= $_;}
close(LNG);
@lng = split(/$bee_split/, $temp);
&log($lng[3], $road);
$text =~ s/(<\\!--\\*\\s*http\\s*-->)(.+?)(<\\!--\\*\\s*\\/http\\s*-->)//i;
}
else
{
use LWP::Simple qw(get);
while ($text =~ /(<\\!--\\*\\s*http\\s*-->)(.+?)(<\\!--\\*\\s*\\/http\\s*-->)/ig)
{
$flag = get("$2");
$text =~ s/<\\!--\\*\\s*http\\s*-->.+?<\\!--\\*\\s*\\/http\\s*-->/$flag/i;
}
$text =~ s/\\n/$bee_split/g;
}
}
return($text);
}