Объясню проблему:
У меня за 2-е разные части сайта отвечают 2-а отдельных Санитариума.
У каждого из них соответственно есть своя индексная страница, получается как 2 больщих раздела сайта со своими подкатегориями. Новые статьи там выводит <%content%>. Так вот еще есть index.html в корне не зависимый от скриптов, и мне хотелось бы чтоб там тоже выводились превью новых статей, но просто инклюдить их из news.txt понятное дело не получиться, т.к 2-а разных скрипта. Может быть в этом коде поставить одну директорию для того, чтобы оба скрипта писали данные о новых статьях в один news.txt?
sub print_news {
#--------------------------------------------------
my ($cat, $how_news, $news_js, $html, $news_txt, $use_txt, %news);
my $self=shift;
$cat=shift;
$how_news=shift;
$use_txt=$self->{\'txt_news\'};
$self->{DB_File}="$self->{\'data\'}/$cat";
$self->{DB_Field}=\'index\';
unless($self->{\'tmp_news\'}){$self->{\'tmp_news\'}=$self->load_tempfile("$self->{\'tmpl_dir\'}/tmp-main/news.txt");}
%news=$self->get_nn_recs($how_news);
foreach my $key(sort {$b <=> $a} keys %news){
$self->unpack_rec($news{$key});
$self->get_author_info();
if ($self->{\'static_pages\'}){$self->{\'article_url\'}="$self->{\'public_url\'}/$self->{\'cat_id\'}/$key"."_1.$self->{\'ext\'}";}
else {$self->{\'article_url\'}=$self->{\'view_cgi_url\'}."?id=$key&cat_id=$self->{\'cat_id\'}&page=1";}
$html=$self->small_parsing($self->{\'tmp_news\'});
$news_txt .= "$html\\n" if $use_txt;
$html=~ s/"/\\\\"/g;
$html=~ s/[\\n\\r]//g;
$html=~ s/\'/\\\'/g;
$news_js .= qq~document.write("$html");\\n~;
}
#CHECK DIRS:
if (!(-e "$self->{\'public_dir\'}/news")){
mkdir("$self->{\'public_dir\'}/news", 0777) or croak("Can\'t mkdir $self->{\'public_dir\'}/news, reason: $!");
chmod(0777, "$self->{\'public_dir\'}/news") or croak("Can\'t chmod $self->{\'public_dir\'}/news, reason: $!");
}
#PRINT in *.js
if ($news_js){
open (NEWS, ">$self->{\'public_dir\'}/news/$cat.js") or croak("Can\'t open NEWS, reason: $!");
if ($USE_FLOCK){flock(NEWS, 2);}
print NEWS $news_js;
close NEWS;
}
#Print in *.txt
if ($news_txt){
open (NEWSTXT, ">$self->{\'public_dir\'}/news/$cat.txt") or croak("Can\'t open NEWSTXT, reason: $!");
print NEWSTXT $news_txt;
close NEWSTXT;
}
}
Или я уже совсем загнался?