Сегодня пятница, 22 сентября 2017 года
 

скрипты perl

Сервер Apache.

Данный раздел сайта создан, отлажен и протестирован на домашнем компьютере с установленным сервером Apache, Perl, PHP, SendMail, MySQL, phpMyAdmin. Подробную информацию об установке и проверке работоспособности этих программных продуктов вы можете найти на страницах сайта.

В этом разделе вы можете также узнать (на работающих примерах) - как правильно включать в страницы сайта:

Директивы SSI

SSI - Server-Side Includes, включения на стороне сервера - набор команд, позволяющий значительно дополнить содержимое вашего ресурса необходимой информацией.

Perl скрипты.

Скрипты написанные на языке- интерпретаторе Perl не являются исполняемыми программами, содержащими описания данных и алгоритмы решения задачи, переведенные в инструкции на машинных кодах. Поэтому, для его выполнения, требуется интерпретатор, переводящий инструкции Perl из текстового формата в двоичный и, затем, выполняющих их на стороне сервера.

PHP скрипты.

PHP (PHP: Hypertext Preprocessor) - интерпретируемый язык программирования веб-приложений, код которого непосредственно включается в текст HTML- документов. Исполняется как модуль Apache (SAPI) или CGI-программа на стороне сервера. После обработки интерпретатором PHP, сервер заменяет код PHP результатом его выполнения и передает на браузер. Клиент получает сгенерированную PHP-скриптом страницу HTML (PDF, Flash, XML, PNG и др.).

 

Переписав или создав самостоятельно страницы сайта, аналогичные приведенным в этом разделе и разместив их в каталоге -

C:/httpserver.ru/www/

(если устанавливали сервер Apache по приведенным здесь рекомендациям), вы получите главный сайт сервера Apache. Он будет установлен на последних, доступных в настоящее время версиях серверных программных продуктов:
Apache 2.2.14,
ActivePerl-5.8.8.824,
PHP 5.2.8,
MySQL 6.0,
phpMyAdmin 2.11.6

Таким образом, вы будете иметь самое современное серверное программное обеспечение, какое не сможет вам предоставить ни один хостинг-провайдер.

Ниже вы видите календарь. Это результат выполнения Perl скрипта, вызванного директивой:
<!--#include virtual="/cgi-bin/calendar.cgi"-->

сентябрь 2017 г.
Пн
Вт
Ср
Чт
Пт
Сб
Вс
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 


Скрипты perl - главный сайт сервера Apache.

Так как, механизма SSI (Server Side Include - включения на стороне сервера) бывает недостаточно, то для решения более сложных задач рекомендуется использование Perl.
Perl - (Practical Extraction and Report Language - Язык Практического Извлечения данных и составления Отчетов) - универсальный язык программирования, первоначально разработанный для работы с текстом и, в настоящее время, используемый для широкого диапазона задач, включая системное администрирование, программирование и развития сети, развития графического интерфейса пользователя, и выполнения многих других задач. Язык предназначен для эффективного практического применения. Его главные особенности - удобство использования, поддержка процедурного и объектно ориентированного программирования (ООП), мощная встроенная поддержка обработки текста, большой набор функций, операторов, возможность работы с ассоциативные массивами, преобразованием типов, поддержка операций с файлами и базами данных и одна из самых внушительных совокупностей сторонних модулей. Всё это предоставляет разработчикам большие возможности для создания лаконичного и эффективного программного кода. Отличительная особенность программ написанных на Perl - высокая переносимость.

Чтобы отлаживать созданные вами или готовые perl скрипты, на локальном (домашнем) компьютере, необходимо установить:

Apache HTTP Server 2.2.14

 Apache HTTP Server 2.2.14 
apache
Следуя, приведенным рекомендациям, вы получите
рабочий сервер Apache 2.2.14

Подробная информация по установке, на страницах: Apache — этапы установки и Apache 2.2.14 — установка.

и интерпретатор Perl из ActivePerl-5.8.8.824-MSWin32-x86-267479.msi

 ActivePerl 5.8.8.824 —  лучшая доступная версия ! 
Apache 2.2 - локальный сервер на домашнем компьютере
Следуя, приведенным рекомендациям, вы установите
интерпретатор Perl

Подробная информация по установке, на страницах: установка ActivePerl-5.8.8.824.

После установки и проверки работоспособности сервера Apache и интерпретатора Perl,
можно приступать к созданию и тестированию скриптов Perl.

Скрипт  - Вывод переменных окружения.

   вызов
<!--#exec cgi="/cgi-bin/test/test.cgi"-->

Код perl скрипта, выводящего информацию о переменных окружения, количестве посещений данной страницы и текущей дате:


#!/usr/bin/perl
#    скрипт test.cgi - вывод переменных окружения

@days = ('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
($sec,$min,$hour,$mday,$mon,$year,$wday) = localtime(time + (3600*$timeoffset));
$mon = $mon +1;
$mday = "0$mday" if ($mday < 10);
$mon = "0$mon" if ($mon < 10);
    if ($hour < 10) { $hour = "0$hour"; }
    if ($min < 10) { $min = "0$min"; }
    if ($sec < 10) { $sec = "0$sec"; }
$year = 1900 + $year;
$page=$ENV{'REQUEST_URI'};
$referer=$ENV{'HTTP_REFERER'};
$namefile="testcgi.txt";
open (COUNTFILE, "+<$namefile");
flock (COUNTFILE,2);
$count =readline(*COUNTFILE);
chomp ($count);
$count=$count + 1; seek (COUNTFILE,0,0);
truncate(COUNTFILE,0);
print COUNTFILE "$count";
close(COUNTFILE);

print "Content-type: text/html\n\n";
print "<table align=\"center\"><tr><td align=\"center\">";
print "<font color=\"#0000FF\" size=\"1\" face=\"Arial, Helvetica, sans-serif\">";
print "&nbsp;&nbsp;&nbsp;Выполнен скрипт test.cgi &nbsp;&nbsp;&nbsp;хитов - $count";
print "&nbsp;&nbsp;&nbsp;$days[$wday], $mday.$mon.$year $hour:$min:$sec";
print "&nbsp;&nbsp;&nbsp;|\"$page\"| <br />Переход со страницы&nbsp; |\"$referer\"|</font>";
print "</td></tr></table>";

foreach $key (sort keys %ENV) {
print "<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n";
print "<tr>\n";
print "<dl> <td width=\"29%\">&nbsp;&nbsp;&nbsp;<font color=\"#000000\" size=\"1\" face=\"Arial, Helvetica, sans-serif\"><b>$key</b></font></td>\n";
print "<td width=\"1%\"><font color=\"#000000\" size=\"1\" face=\"Arial, Helvetica, sans-serif\"><b>=</b></font></td>\n";
print "<td width=\"70%\"><font color=\"#FF0000\" size=\"1\" face=\"Arial, Helvetica, sans-serif\"><b>&nbsp;$ENV{$key}</b></font></td></dl>\n";
print "</tr>\n";
print "</table>\n";
}

В цикле - foreach - выводится, из ассоциативного системного массива переменных окружения %ENV (ключ/связанное с ним значение переменной окружения), полезная информация о части среды окружения сервера - переменных окружения. Скрипт выводит информацию переменных окружения, версии OS, путях, хозяине и локальных значениях опций конфигурации, заголовков HTTP. Поскольку для каждой OS – своя установка, ENV обычно используется, чтобы проверить параметры настройки конфигурации и доступных предопределенных переменных на данной системе. ENV является ценным инструментом для отладки.

Если вы установили сервер Apache 2.2.14 и интерпретатора Perl на ваш компьютер, то увидите
результат выполнения perl скрипта test.cgi

распложенного в каталоге - C:\httpserver.ru\cgi-bin\

Выполнен скрипт test.cgi хитов - 57004. Friday, 06.06.2008 11:16:35   "/russian/tempsite/perl/index.shtml"




-
Имя
ALLUSERSPROFILE
APPDATA
CLIENTNAME
CLUSTERLOG
COMMANDER_DRIVE
COMMANDER_INI
COMMANDER_PATH
COMMONPROGRAMFILES
COMPUTERNAME
COMSPEC
DOCUMENT_ROOT
FP_NO_HOST_CHECK
GATEWAY_INTERFACE
HOMEDRIVE
HOMEPATH
HTTP_ACCEPT
HTTP_ACCEPT_ENCODING
HTTP_ACCEPT_LANGUAGE
HTTP_CONNECTION
HTTP_HOST
HTTP_REFERER
HTTP_USER_AGENT
LOGONSERVER
MYSQL
NUMBER_OF_PROCESSORS
OS
OWLROOT
PATH
PATHEXT
PROCESSOR_ARCHITECTURE
PROCESSOR_IDENTIFIER
PROCESSOR_LEVEL
PROCESSOR_REVISION
PROGRAMFILES
REMOTE_ADDR
REMOTE_PORT
REQUEST_METHOD
REQUEST_URI
S7TMP
SCRIPT_FILENAME
SCRIPT_NAME
SERVER_ADDR
SERVER_ADMIN
SERVER_NAME
SERVER_PORT
SERVER_PROTOCOL
503
SERVER_SOFTWARE
SESSIONNAME
SERVER_SIGNATURE
SERVER_SOFTWARE
SQLANY
SYSTEMDRIVE
SYSTEMROOT
TEMP
TMP
USERDOMAIN
USERNAME
USERPROFILE
USER_NAME
USER_PASSWORD
WINDIR
Описание
C:\Documents and Settings\All Users.WINDOWS
C:\Documents and Settings\Администратор.M12057854-TIPYR78D7\Application Data
Console
C:\WINDOWS\Cluster\cluster.log
C:
C:\Program Files\Total Commander\wincmd.ini
C:\Program Files\Total Commander
C:\Program Files\Common Files
M12-EXTREME
C:\WINDOWS\system32\cmd.exe
C:/www/docs/httpserver.ru/cgi-bin
NO
CGI/1.1
C:
\Documents and Settings\Администратор.M12057854-TIPYR78D7
image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
gzip, deflate
ru
Keep-Alive
www.httpserver.ru
http://localhost/
Mozilla/4.0
\\M12-EXTREME
C:\Program Files\MySQL\MySQL Server 5.0\bin\
2
Windows_NT
C:\OWL
C:\Perl\bin; C:\usr\site\bin; C:\usr\bin; C:\program files\common files\Siemens\Sqlany; C:\Program Files\ Siemens\Step7\S7bin; C:\WINDOWS\system32; C:\WINDOWS; C:\WINDOWS\System32\Wbem; C:\usr\php; C:\BC5\BIN;
.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
x86
x86 Family 6 Model 15 Stepping 6, GenuineIntel
6
0f06
C:\Program Files
127.0.0.2
1365
GET
C:/www/docs/avege.ru/cgi-bin/testevn.cgi
C:\Program Files\Siemens\Step7\S7Tmp
C:/www/docs/avege.ru/cgi-bin/testevn.cgi
/www/docs/avege.ru/cgi-bin/testevn.cgi
127.0.0.1
admin@httpserver.ru
www.httpserver.ru
80
HTTP/1.1
OptiPerl/4 Server at localhost Port 80
OptiPerl/4
Console
Apache/2.2.14 (Win32) PHP/5.2.8 Server at www.httpserver.ru Port 80
Apache/2.2.14 (Win32) PHP/5.2.8
C:\program files\common files\Siemens\Sqlany
C:
C:\WINDOWS
C:\TEMP
C:\TEMP
M12-EXTREME
Администратор.M12057854
C:\Documents and Settings\Администратор.M12057854-TIPYR78D7
*******************
*******************
C:\WINDOWS

Ниже приведен результат выполнения perl скрипта - test.cgi
выполненного на реальном сервере хостинг-провайдера, у которого размещен данный сайт.

Можете сравнить - какое программное обеспечение установлено на большинстве серверов хостинг-провайдеров,
и какое будете иметь вы после установки на домашний компьютер сервера Apache, интерпретаторов Perl и PHP.

ИмяОписание
DATE_GMT
DATE_LOCAL
DOCUMENT_NAMEperl02.shtml
DOCUMENT_ROOT/home/virtwww/w_avege-ru_426a88c6/http
DOCUMENT_URI/russian/tempsite/perl/perl02.shtml
GATEWAY_INTERFACECGI/1.1
HTTPSoff
HTTP_ACCEPTtext/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
HTTP_ACCEPT_ENCODINGx-gzip, gzip, deflate
HTTP_HOSTavege.ru
HTTP_IF_MODIFIED_SINCESat, 29 Jul 2017 11:49:50 GMT
HTTP_USER_AGENTCCBot/2.0 (http://commoncrawl.org/faq/)
HTTP_X_1GB_CLIENT_IP54.158.248.167
HTTP_X_FORWARDED_REQUESTGET /russian/tempsite/perl/perl02.shtml HTTP/1.0
HTTP_X_FORWARDED_URI/russian/tempsite/perl/perl02.shtml
LAST_MODIFIED
PATH/usr/local/bin:/usr/bin:/bin
QUERY_STRING
REMOTE_ADDR54.158.248.167
REMOTE_PORT43656
REQUEST_METHODGET
REQUEST_URI/russian/tempsite/perl/perl02.shtml
SCRIPT_FILENAME/home/virtwww/w_avege-ru_426a88c6/http/cgi-bin/testevn.cgi
SCRIPT_NAME/cgi-bin/testevn.cgi
SCRIPT_URIhttp://avege.ru/russian/tempsite/perl/perl02.shtml
SCRIPT_URL/russian/tempsite/perl/perl02.shtml
SERVER_ADDR81.177.49.40
SERVER_ADMIN[no address given]
SERVER_NAMEavege.ru
SERVER_PORT80
SERVER_PROTOCOLINCLUDED
SERVER_SIGNATURE
SERVER_SOFTWAREApache
USER_NAME

Получение рабочего сервера Apache.

Чтобы получить полноценный http server apache, необходимо установить: apache, php, mysql, perl, apache, phpmyadmin, sendmail. Для этого необходимо: скачать apache, скачать perl, скачать php, скачать mysql, скачать phpmyadmin. Это монжно сделать нажав на нужную ссылку ниже.
Для превращения компьютера в полноценный сервер принято устанавливать следующие пакеты программного обеспечения:
При условии, что у вас имеются:
httpd conf - главный сайт сервера apache

apache

perl

php

phpmyadmin

mysql

sendmail

  Apache_2.2.14-win32-x86-.msi - скачать apache
  PHP 5.2.8 zip package - скачать php
  phpMyAdmin 2.11.6 - скачать phpmyadmin
  MySQL 6.0 - скачать mysql
  SendMail 3.10 - скачать sendmail
если выполнить следующее:
Установить
Переписать архивы файлов конфигурации:
 конфигурации Apache 2.2.x
 файла - host
Переписать шаблоны:
 главного сайта сервера
 двух сайтов виртуальных хостов на основе имени и двух сайтов виртуальных хостов на основе IP адресов
И вы будете иметь самое современное серверное программное обеспечение.

Директивы SSI, скрипты Perl и PHP.

На страницах этого раздела сайта вы можете ознакомиться, на работающих примерах, с включениями в веб-страницы директив SSI, perl и php скриптов.

[16]
опубликовано - август 2003 г.
обновлено - Sunday, 08-Feb-2015 08:55:56 MSK
Valid CSS!
Valid XHTML 1.1