![]() |
Нужно написать Микро PERL (cgi) Скрипт :)
Возникла проблема) Нужно написать маленький Perl скрипт для сайта а я не разбираюсь в этом давно уже))
Вообщем нужно сделать так: есть файл index.pl лежит в domen.ru/cgi-bin/index.pl при запросе domen.ru/cgi-bin/index.pl?action=main должна открываться одна страничка при запросе domen.ru/cgi-bin/index.pl?action=info должна открываться другая) всего страничек надо 3 ) лучше чтоб они открывались один в один из файлов типа main.html info.html - сделать вообщем нужно что то типа include как в php Кто возьмётся?) Даже заплачу 50 WMR норм?) Помогите :) |
Плюньте вы на этот Perl, некрофилия еще никого до добра не доводила.
Да и URL domen.ru/cgi-bin/index.pl?action=main в 21м веке должно быть стыдно на сайте иметь... |
Alexey, да я понимаю) у меня проблема специфическая) нужно сделать именно на perl странички..
|
Если я все правильно понял, то можно так:
#!/usr/bin/perl -w use Fcntl; $method=$ENV{'REQUEST_METHOD'}; if ($method eq "POST") {read(STDIN,$form_data,$ENV{'CONTENT_LENGTH'});} else {$form_data=$ENV{'QUERY_STRING'};} @pairs=split(/&/,$form_data); foreach $pair (@pairs) { ($name,$value)=split(/=/,$pair); $ddd{$name}=$value; } if (exists $ddd{'action'}) { print "Location: http://www.site.ru/".$ddd{'action'}.".html\n\n"; exit; } откроются странички типа main.html и т.д. Не пинайте - я не особый знаток perl'а |
Стоп) странички должны не открываться а показываться )) ну то есть текст должен показываться разный) взятый например из страничек рядом лежащих в папке
|
тогда вот так
#!/usr/bin/perl -w use Fcntl; $pth=$ENV{'SCRIPT_FILENAME'}; $pth=~s/cgi-bin.*//; # я так внутренний путь к папке с файлами html вычисляю print "Content-type: text/html;charset=Windows-1251\n\n"; #print $pth; $method=$ENV{'REQUEST_METHOD'}; if ($method eq "POST") {read(STDIN,$form_data,$ENV{'CONTENT_LENGTH'});} else {$form_data=$ENV{'QUERY_STRING'};} @pairs=split(/&/,$form_data); foreach $pair (@pairs) { ($name,$value)=split(/=/,$pair); $ddd{$name}=$value; } if (exists $ddd{'action'}) { #print "Location: http://www.site.ru/".$ddd{'action'}.".html\n\n"; exit; open FO, "<".$pth.$ddd{'action'}.".html"; @html= <FO>; close FO; foreach (@html) { print; } } exit; файлы .html лежат в корневой Добавлено через 20 минут и можно заменить foreach (@html) { print; } на print @html; |
перл да ну его!
пхп рулит, а пхп 6 всем покажет Добавлено через 1 минуту вот мот пригодится ссылка http://bishome.ru/load/358 |
Чёто ничё не катит) вот нашёл и переписал сам скрипт)
#!/usr/bin/perl $temp=$ENV{'QUERY_STRING'}; @pairs=split(/&/,$temp); foreach $item(@pairs) { ($key,$content)=split (/=/,$item,2); $content=~tr/+/ /; $content=~ s/%(..)/pack("c",hex($1))/ge; $fields{$key}=$content; } print "Content-type: text/html\n\n"; open (HEAD, "header.txt"); @head = <HEAD>; close (HEAD); foreach $line (@head) { print "$line"; } open(NUMBER, "$fields{'action'}"); @text = <NUMBER>; close(NUMBER); foreach $line (@text) { print "$line"; } open (FOOT, "footer.txt"); @foot = <FOOT>; close (FOOT); foreach $line (@foot) { print "$line"; } == рядом лежат footer.txt header.txt и также любой файл который надо открыть как HTML например index.html при запросе file.pl?action=index.html откроется header.txt+index.html+footer.txt Всё )) |
Цитата:
Решили свою проблему - ну и прекрасно. Алес гуд. |
(Пока отвечал - esetnod удалил свой вопрос :) )
Цитата:
Код:
open(D, "a.txt"); Код:
import re |
Часовой пояс GMT +3, время: 13:23. |
Работает на vBulletin® версия 3.8.7.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot
SAPE.RU — система купли-продажи ссылок с главных и внутренних страниц сайтов.