1

Ищу книгу по созданию сайтов, в качестве cgi хочу использовать perl
нашел вот эту
но она про Windows.

есть ли что толковое под linux?

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс

2

Робин Никсон "Создаем динамические сайты с помощью PHP, MySQL и JavaScript"  изд.Питер 2012 (O'Reilly), но, наверное Вас не устроит...

3

наверное да.
зачем мне учить php если я не собираюсь писать полноценные сайты.

мне нужно то, всего лишь

upload на сайт эксель таблицы
инквизиция над ней, генерация всяких конфигов и
download с сайта этих самых конфигов.

все это уже есть и работает в консольном варианте локально.

нужно только веб морду для других сотрудников сделать, под венду нет желания переписывать свою утилиту и раздавать её всем.

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс

4

работает однако

gu@moshell:~$ cat /var/www/ccr-tool/cgi-bin/login.pl
#!/usr/bin/perl -w
use CGI;
use strict;

print "Content-Type: text/html\n\n";
print "<html><head><title>Динамический документ HTML</title></head></body>";
print "<h1>Создан динамический документ</h1>";
print "<p>Текст этой страницы был создан динамически сценарием CGI.</p>";
print "</body></html>";
gu@moshell:~$

выводит страницу.

осталось только книжку толковую найти bc

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс

5 (04.02.2014 16:58:03 отредактировано -=Serj=-)

moshell пишет:

зачем мне учить php если я не собираюсь писать полноценные сайты.

Вы удивитесь, но создавать полноценные сайты можно и без PHP.

moshell пишет:

осталось только книжку толковую найти

https://www.google.ru/search?q=perl+cgi … hAf-2IHwBA

Да, у меня Ubuntu.
Нет, не глючит.

6

-=Serj=- пишет:

Вы удивитесь, но создавать полноценные сайты можно и без PHP.

тем более!

я там уже со вчерашнего дня сижу.
хочется на бумаге что нибудь.

нашел это.
доступно, прям для меня писалось.
Фролов А., Фролов Г. - Практика применения Perl, PHP, Apache, MySQL для активных Web-сайтов - 2002

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс

7

непонятка с расширениями
есть два файла:

gu@moshell:~$ cat /var/www/ccr-tool/cgi-bin/http-header.pl
#!/usr/bin/perl -wT


print "Content-Type: text/html\n";
print "Charset: windows-1251\n\n";

print "<html><head><title>Переменные окружения</title></head><body>";
print "<h1>Узел $ENV{'HTTP_HOST'}</h1>";

print "<table border=1><tr><th width=150 align=left>Переменная</th><th align=left>Значение</th></tr>";

my $env_var;
foreach $env_var (keys %ENV)
    {
        my $val=$ENV{$env_var};
        if ($val eq "") {
            $val = " [не определено] ";
        }
        print "<tr><td width=150>$env_var</td><td>$val</td></tr>\n";
    }

print "</table>";
print "</body></html>";

gu@moshell:~$
gu@moshell:~$ cat /var/www/ccr-tool/cgi-bin/server_info.cgi
#!/usr/bin/perl -wT

print <<END_OF_HTML;
Contentype: text/html

<HTML>
<HEAD>
<TITLE>About this Server</TITLE>
</HEAD>
<BODY>
<H1>About this Server</H1>
<HR>
<PRE>
Server name: $ENV{SERVER_NAME}
Listening in Port: $ENV{SERVER_PORT}
Server Software: $ENV{SERVER_SOFTWARE}
Server Protocol: $ENV{SERVER_PROTOCOL}
CGI Version: $ENV{GATEWAY_INTERFACE}
</PRE>
<HR>
</BODY>
</HTML>
END_OF_HTML

как видно, находятся в одной директории.
права одинаковые

gu@moshell:~$ ls -l /var/www/ccr-tool/cgi-bin/http-header.pl
-rwxr-xr-x 1 gu www-data 637 Фев  6 13:30 /var/www/ccr-tool/cgi-bin/http-header.pl
gu@moshell:~$ ls -l /var/www/ccr-tool/cgi-bin/server_info.cgi
-rwxr-xr-x 1 gu www-data 388 Фев  6 13:17 /var/www/ccr-tool/cgi-bin/server_info.cgi
gu@moshell:~$

только вот скрипт http-header.pl может работать как с расширением .pl так и с расширением .cgi (путем переименовки)
а скрипт server_info.cgi работает только с расширением .cgi

какая настройка отвечает за сиё поведение?

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс

8

можно тему закрывать.
во многом помогла эта книга.

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс