Сегодня воскресение, 28 мая 2017 года
    

avege
Apache 2.2 - локальный сервер на домашнем компьютере
Perl - (Practical Extraction and Report Language - Язык Практического Извлечения данных и составления Отчетов) - универсальный язык программирования, первоначально разработанный для работы с текстом и, в настоящее время, используемый для широкого диапазона задач, включая системное администрирование, программирование и развития сети, развития графического интерфейса пользователя. C развитием Интернета, Perl стал одним из средств для разработки CGI-сценариев, служащих для обработки данных из форм, создания интерактивных приложений, управления базами данных, отправкой почтовых сообщений, создания счетчиков посещений, гостевых книг, форумов и решения иных задач.

     ГлавнаяPerl
Разделы
ActivePerl-5.8.8.824
язык Perl
установка ActivePerl-5.8.9.826
установка ActivePerl (продолжен.)
скрипты на Perl — ошибки выполнения
Apache 2.2.14
сервер Apache 2.2.14
Apache — этапы установки
Apache 2.2.14 — установка
проверка работоспособности
конфигурирование httpd.conf
установки httpd-vhosts.conf
файлы httpd-userdir.conf и host
тестирование Apache 2.2.14
Apache — ответы на вопросы
главный сайт сервера Apache
шаблон главного сайта сервера
установка главного сайта сервера Apache
директивы SSI — переменные окружения
скрипты на Perl — вывод переменных окружения
скрипты на Perl — среда кеша
скрипты на PHP — примеры
скрипты на PHP — конфигурация ядра PHP
скрипты на PHP — вывод переменных окружения
IndigoMail — SendMail для Windows
отправить почтовое сообщение с сайта
PHP - 5.2.9
язык PHP
установка PHP 5.2.9 zip
установка PHP 5.2.9 installer
скрипты PHP
php ini - файл конфигурации
phpmyadmin
MySQL
установка MySQL
настройка MySQL
mysql php
SendMail
установка SendMail
Borland C++ с нуля
предисловие
установка интегрированной среды разработки
установка заплат
вход в IDE
Borland C++ v 5.02 — компиляция и компоновка проекта
Borland C++ v 5.02 —- создание приложения с помощью AppExpert
настройка меню в ClassExpert
ввод нового пункта в меню
редактирование диалога в Dialog editor
контекстная справка Borland
C++ v 5.02
Программы
'Вакансии'
'Справочный пункт'
'Платёжные документы'
'Зарплата'
'Налоги'
Создание сайта
этапы создания сайта
регистрация сайта
статистика посещений сайта
Размещение сайта на сервере
создать сайт на Яндексе
Почтовый ящик
почтовый ящик на Яндексе
Дипломная работа
Содержание
Логистика — доклад
Концепция и функции логистики
Анализ логистической цепи
Разработка проекта организации управления логистической цепью
Планирование добычи нефти
Планирование с применением принципов логистических систем
Плановые информационные системы
Оценка экономической эффективности расчетных задач
Расчет экономической эффективности задач
Управление выполнением производственной программы
Пример классического и системного подхода
Автоматизация планирования добычи нефти и газа
Программа "Тех-мероприятия" — исходные коды на C
контакты
карта сайта

май 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
31
 
 
 
 


Информация
Браузеры
 Создав страницы сайта и проверив их в одном из обозревателей, например, в IE вы можете быть уверенными только в том, что они будут отображаться, как вами задумывалось, только в Internet Explorer . При просмотре этих страниц в другом браузере, можете обнаружить, что они выглядят не так, как вы ожидали, а порой и некорректно. Происходит это потому, что производители обозревателей придерживаются различных стандартов и вопрос о их совместимости был поднят только в последнее время. Постепенно различия между браузерами будут стираться, т. к. в настоящее время большинство из них бесплатны и борьба между разработчиками идет за привлечение пользователей удобством их использования. Поэтому проверку созданных вами страниц сайта, желательно проводить в наиболее популярных, в настоящее время, обозревателях. Это позволит, учитывая различия между браузерами, создавать универсальные документы, которые будут корректно в них отображаться.

Страница, защищена от копирования Copyscape

Perl - универсальный язык программирования.

ActivePerl-5.8.9.826
php скачать можно нажав на ссылку php-PHP 5.2.4-Win32.zip
 ActivePerl-5.8.9.826 —  лучшая доступная версия !  
Perl - язык сценариев (скриптовый язык), широко используемый для системного администрирования и программирования веб-приложений. Perl скрипты (выполняются на сервере) и могут быть вызваны непосредственно или из файлов сайта.

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

С момента появления языка Perl - первая версия была написана в 1986 году Ларри Уоллом - создано и используется около 120 000 скриптов. Perl первоначально предназначался для создания и обработки конфигурационных файлов, применяемых для настройки операционных систем базирующихся на UNIX и автоматизации составления отчетов по использованию ресурсов OS. OS UNIX настраивается с помощью текстовых файлов содержащих команды интерпретатора командной строки - shell, одной из сервисных программ (утилит) UNIX. Это то-же самое, что и командные файлы операционной системы MS- DOS. Использование командных файлов вызвано тем, что для решения ряда задач, требуется определенная последовательность ввода команд. Можно вводить их вручную, но рациональнее, один раз написав пакетный файл, в дальнейшем выполнять их автоматически. В UNIX они получили название - скрипт (script) или сценарий. C развитием Интернета, Perl стал одним из средств для разработки CGI-сценариев, служащих для обработки данных из форм, создания интерактивных приложений, управления базами данных, отправкой почтовых сообщений, создания счетчиков посещений, гостевых книг, форумов и решения иных задач. То есть используется для написания CGI приложений для Веб- серверов, имеющих встроенные механизмы включения скриптов, например, таких как Apache и MS IIS.

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

Транслятор, компилятор, интерпретатор.

Коротко о классификации языков программирования.
Все языки программирования, за исключением машинного, в конечном итоге транслируют исходный код программы в машинные коды.


Трансляторы

Существуют два вида трансляторов: компиляторы и интерпретаторы (языки-компиляторы и языки-интерпретаторы).


Компилятор

Компилятор - язык-компилятор, например, BC++ 5.x  - переводит исходный код программы, содержащий описания данных и алгоритмы решения задач, в инструкции на машинных кодах (компилирует). Затем, при помощи редактора связей (Link), компонует проект, создавая загрузочный (исполняемый) файл. Загрузочный файл (обычно имеющий расширение - .exe.) - принято называть программой. Полученная программа (если был выбран режим компиляции - static) содержит все необходимое для своей автономной работы на определенной OS (операционной системе) и больше не нуждается в среде разработки, компиляторе, редакторе связей. Её можно перенести и выполнить на другом компьютере, на котором никогда не устанавливался программный комплекс, при помощи которого данное приложение создавалось. Если размер программы превышает 1 - 3 мегабайта - часть подпрограмм выносятся в файлы динамически связанных библиотек (DLL) - имеющие расширение - .dll, которые загружаются в память по мере необходимости и всего лишь один раз. Исполняемые программы, если в них имеются проверки и защиты от изменения части кода, размера или сжатые компрессором - дешифрировать практически невозможно. Встроенная проверка пароля - позволяет оградить от несанкционированного доступа. Для создания программ, например, в Borland C++ -компиляторе для Windows, используется интегрированная среда разработки (IDE - Integrated Davelopment Environment). Она предоставляет собой универсальный и удобный инструмент для разработки, анализа и отладки программ. Имея только этот программный комплекс, можно создавать профессиональные 32-разрядные приложения для всех версий Windows.


Интерпретатор

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

Основное отличие компиляторов и интерпретаторов.

Компилятор создает исполняемую программу, не нуждающуюся в других программных средствах (кроме OS).

Интерпретатор создает программу, время существования которой заканчивается по завершению выполнения или с выходом из неё. Для работы программы необходима программа-интерпретатор, в данном случае Perl, для выполнение в котором она создана.

Документация Perl.

Трудно найти описание, на русском языке, последних версий Perl в Интернете, поэтому лучше воспользоваться обширной документацией разработчиков - "ActivePer - Руководство пользователя" - входящей в пакет инсталляции    -   ActivePerl-5.8.8.824-MSWin32-x86-267479.msi. В котором лаконично, с множеством примеров, освещены практически все вопросы по установке, конфигурации, компонентам, модулям расширения и особенностям новой версии языка.
   Обратиться к документации, после установки Perl в каталог - c:\usr\ , можно будет, набрав в командной строке Total Commander'а - C:\usr\html\index.html или из меню - 'Скрипты на Perl - 'Документация Perl' - переписав и установив шаблон главного сайта сервера Apache 2.2.14

Описание Perl

Каталог установки Perl -  c:\usr\  - выбран потому, что первая строка Perl-скриптов -  #!/usr/bin/perl -  должна указывать на путь к интерпретатору Perl, на большинстве реальных серверов хостинг-провайдеров - это c:\usr\. Кроме этого она сообщает интерпретатору о том, что это скрипт, написанный на языке Perl.

Perl скрипты - что необходимо для их создания, отладки и включения в страницы сайта ?

Уже упоминалось, что Perl - язык сценариев (скриптовый язык), широко используемый для системного администрирования и программирования веб-приложений. Perl скрипты (выполняются на сервере) и могут быть вызваны непосредственно или из файлов сайта. Но как - бы они не были вызваны, пользователю результат их выполнения будет отправлен включенным в страницы HTML. Поэтому, для того чтобы четко представлять как это происходит на реальном сервере,  необходимо на домашний компьютер установить локальный сервер Apache 2.2.14

Установить сервер Apache.

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

Установить интерпретатор Perl

Чтобы иметь возможность проверки выполнения скриптов на Perl, из страниц сайта (например, главного сайта сервера Apache - 'perl скрипты'), нужно установить интерпретатор ActivePerl. Его можно бесплатно получить на сайте производителя ActiveState.com/ActivePerl. скачать perl можно нажав на ссылки ниже

Текущие версии: ActivePerl-5.8.9.826 - версия языка Perl 5.8, ActivePerl 5.6.1.638 - версия языка Perl 5.6. Если вы установите ActivePerl 5.6.1.638, то возникнут проблемы с использованием редактора - OptiPer(интегрированной среда разработки для создания, отладки и проверки выполнения perl сценариев, непосредственно или через связанные документы html.)

Perl можно бесплатно получить на сайте производителя ActiveState.

Следует напомнить, что ActivePerl-5.8.8.824 это совсем не тот Perl, примеры скриптов на котором, написанные до 2006 года, во множестве встречаются на сайтах Интернета. Неактуально сейчас звучат, в многочисленных материалах посвященных языку Perl, разъяснения, рекомендации и советы. Некоторые из них даже вредны, так как приводят к ошибкам и поддерживают миф о почти непреодолимых проблемах с которыми придется встретиться начинающим программировать на Perl (Например, ошибка 500).   Подробней см. ниже. Количество условий, несоблюдение которых, при создании и размещении скриптов на Perl, приводит к получению 500-й ошибки (Internal Server Error - внутренняя ошибка сервера), не более чем при разработке страниц сайта на языке разметки гипертекстовых документов — HTML (HyperText Markup Language).

Объединим проверку правильности установки и работоспособности интерпретатора Perl с современными приемами тестирования perl-скриптов.


Для проверки работоспособности интерпретатора Perl, создайте файлы с таким содержанием:

Командный файл, направляющий вывод из Perl скрипта в файл -

testcod.cmd

rem Командный файл, направляющий вывод из Perl скрипта в файл - testcod.htm

perl testcod.cgi > testcod.htm

Perl скрипт - testcod.cgi

Создадим два варианта -
вариант без ошибок
#!/usr/bin/perl - w
use CGI qw(:all);
print header;
print "<b> Вывод из скрипта - testcod.cgi";
print "</b>";
вариант с ошибкой - нет ' ; ' в четвертой строке.
#!/usr/bin/perl
use CGI qw(:all);
print header;
print "<b> Вывод из скрипта - testcod.cgi"
print "</b>";
Разместите их в любом каталоге и запустите командный файл - testcod.cmd
После выполнения будет создан файл - testcod.htm.
Запустив который вы увидите:
Content-Type: text/html; charset=ISO-8859-1
Вывод из скрипта - testcod.cgi
После выполнения будет создан пустой файл - testcod.htm.
Из - за синтаксической ошибки скрипт не будет выполнен.
Но и сообщения об ошибке и причинах её вызвавших
- вы не увидите.

В ранних версиях Perl-скрипты имели неприятную особенность - запись предупреждающих сообщений в файлы регистрации ошибок, без указания времени, места и полностью идентифицированной причины её вызвавшей. Нельзя исключать появление ошибок, даже в отлаженном и протестированном скрипте. Если у вас на сервере несколько скриптов, то поиски вызвавшего ошибку, могут занять значительное время.
В последних версиях Perl имеется несколько директив позволяющих избавиться от этой проблемы. А так как появление ошибок возможно по причинам, которые, без определенного опыта, не все могут учесть, то обязательно включайте в скрипты, для получения полной информации в файле регистрации ошибок, вместо обычной директивы - use Carp, директиву - use CGI::Carp.
Директива - use CGI::Carp 'fatalsToBrowser'  - позволяет перенаправить сообщение об ошибке в вывод скрипта, вместо log-файла web-сервера.

Пример Perl-скрипта для тестирования сервера Apache и ActivePerl-5.8.8.824 - firsttest.cgi

#!/usr/bin/perl - w
use CGI::Carp 'fatalsToBrowser';     # Необходимы
use warnings;                                      # для отладки
use strict;                                              # скриптов
use CGI;
my $q = new CGI;
print $q->header(-type => 'text/html', -charset => 'windows-1251' ), $q->start_html( "Тест Apache 2.2.14!" );
print "<table width=\"50%\" border=\"1\">
<tr>
<td align=\"center\"> ";
print $q->h3( "<br>Тест сервера Apache 2.2.14 <br>
и ActivePerl-5.8.8.824<br>
- прошел успешно!");
print "</td>
</tr>
</table> ";
print $q->end_html;

Командный файл, направляющий вывод из Perl скрипта в файл -

firsttest.cmd

с таким содержанием:

perl firsttest.cgi > firsttest.htm

Разместите эти два файла в любом каталоге и запустите командный файл -firsttest.cmd

После его выполнения будет создан файл - firsttest.htm. Запустив последний вы увидите:

Тест сервера Apache 2.2.14
и ActivePerl-5.8.8.824
- прошел успешно!

Если из скрипта  testcod.cgi ,  удалить точку с запятой в конце, приведенной ниже, предпоследней строки и записать его.
</table> "   ;
То после выполнения командного файла будет получено сообщение:

Software error:

syntax error at firsttest.cgi line 21, near "print"
(Might be a runaway multi-line " string starting on line 18")
Execution of firsttest.cgi aborted due to compilation errors.

Программная ошибка:

синтаксическая ошибка на firsttest.cgi строке 21, около "print"
(Могла бы быть многострочная " " строка 18)
Выполнение firsttest.cgi прерывалось из-за ошибок трансляции.

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

В Интернете, в материалах с описанием языка Perl, годами из статьи в статью, приводятся чьи - то противоречащие друг другу цитаты -

1. "Преимущество интерпретаторов - получение ответа после введения задачи и нажатия клавиши Enter ".

Приводится пример быстрого получения результата 'вычисления', такого как - print 10-5; = 5. Непонятно - кому нужно использовать компьютер для таких вычислений? Чтобы выполнить что-то “сложней”, например, print ((10-5 + 7)*2); и получить правильный результат, нужно изучить, по меньшей мере, приоритеты выполнения арифметических операций и правила написания формул. Ниже приведены результаты работы скрипта выполненного, при загрузке этой страницы

Исходный текст скрипта на Perl.

1    #!/usr/bin/perl -w
2    use CGI qw(:all);
3
4    print header;
5
6    print "<b> print (10-5+7)*2; &nbsp;&nbsp;&nbsp;= ";
7    print (10-5+7)*2;
8    print "<br>\n";
9    print " print ((10-5+7)*2); = ";
10  print ((10-5+7)*2);
11  print "</b>";


Первая строка, начинающаяся со знака комментария (#); понимается интерпретатором как программа на Perl. Она может содержать необязательные не обязательные аргументы. В данном примере - это ключ -w, указывающий интерпретатору о выдаче предупреждающих сообщений об опасных участках исходного кода.

Если вы использовали не специализированный редактор Perl для написания кода скрипта, то об ошибке в седьмой строке можно узнать только из содержания файла - error.log сервера Apache:
[Tue Mar 08 10:08:00 2007] [error] [client 127.0.0.4] print (...) interpreted as function at C:/www/docs/avege.ru/cgi-bin/intperl.cgi line 7.
[Tue Mar 08 10:08:00 2007] [error] [client 127.0.0.4] Useless use of multiplication (*) in void context at C:/www/docs/avege.ru/cgi-bin/intperl.cgi line 7.

Вывод результата выполнения.

print (10-5+7)*2;    = 12
print ((10-5+7)*2); = 24

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

2. "Написание скриптов на Perl возможно в любых текстовых редакторах"

Если - бы предыдущий пример создавался в специализированном редакторе, например - OptiPerl, с автоматический проверкой на синтаксические ошибки, то трудно - бы было не заметить выделенную седьмую строку скрипта и предупреждение в строке состояния. При использовании ключа -w в первой строке скрипта и нажатии на пункт меню - Run in Browser , было - бы получено приведенное ниже сообщение.

print (...) interpreted as function at C:\www\docs\avege.ru\cgi-bin\intperl.cgi line 7.
Useless use of multiplication (*) in void context at C:\www\docs\avege.ru\cgi-bin\intperl.cgi line 7.
Бесполезное использование умножения (*) в контексте в C:\www\docs\avege.ru\cgi-bin\intperl.cgi строка 7.
Content-Type: text/html; charset=ISO-8859-1
print (10-5+7)*2; = 12
print ((10-5+7)*2); = 24

специализированный редактор - OptiPerl, с автоматический проверкой на синтаксические ошибки

Устранение ошибки в арифметическом выражении позволило - бы избежать вывода неправильного результата вычислений. Не говоря уже о проблеме символа конца строки Подробней см. Ошибки в скриптах на Perl.

Достаточно взгляда на фрагмент программы на Perl, чтобы понять, что без анализа и контроля корректности кода, возможно написание только таких программ как "Привет мир"

Если написать скрипт на Perl состоящий из 100 строк например, в программе 'Блокнот', без элементарной проверки синтаксиса, то исправление ошибок и его отладка могут занять многие часы. О других проблемах, связанных с написанием сценариев Perl в неспециализированных редакторах, см. Типичные ошибки в скриптах на Perl.

3. В некоторых изданиях подчеркивается как преимущество интерпретатора Perl, перед языками-компиляторами - возможность оперативного внесения изменений в исходный текст без последующей компиляции, необходимой в последних.

Это очень спорное заявление. Компиляция проекта из ста файлов, на современном компьютере, занимает от 2 до 10 секунд. Полученная программа загружается и начинает выполняться за доли секунды. Если написать, что - то подобное на языке интерпретаторе, то загружаться скрипт будет за значительно большее время. И этот процесс будет повторяться при каждом его вызове. Но, внесение изменений без проверки правильности результата - это не программирование, а какое - то иное занятие. Проверка изменений, на языке-интерпретаторе, займет значительное время, потому что каждый раз скрипт будет анализироваться и загружаться им. Изменения, внесенные в один или несколько файлов проекта (как правило, вся сотня файлов исходных кодов не изменяется в один раз) превращаются компилятором в исполняемый файл за доли секунды. А если учесть что, например, Borland C++ -компилятор, как и многие языки объектно-ориентированного программирования, имеют универсальные и удобные инструменты для разработки, анализа и тестирования программ в интегрированной среде разработки (одном программном комплексе), позволяющие создавать практически отлаженные программы для определенной OC. То в случае со скриптами на Perl вам придется использовать значительное количество программных средств для написания, выявления и устранения ошибок, тестирования на локальном сервере, размещения и тестирования на веб-сервере. Доступ к последнему, требует значительных финансовых и временных затрат, и все это, без гарантии получения нужного результата. Поэтому, нужно подходить к Perl, как инструменту, который вы вынуждены использовать для взаимодействия между пользовательской интерактивной HTML-страницей (среда браузера, клиент) с web-серверами (в основном на платформе Unix) через протокол CGI (Common Gateway Interface - общий интерфейс взаимодействия).

Чтобы получить полноценный http server apache, необходимо установить: apache, php, mysql, perl, apache, phpmyadmin, sendmail.

Apache, Perl, PHP, MySQL, SendMail - установить сервер за 30 минут вполне реально !
Для превращения компьютера в полноценный сервер, принято устанавливать следующие пакеты программного обеспечения:
httpserver.ru - главный сайт сервера apache

apache

perl

php

phpmyadmin

mysql

sendmail

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

На следующей странице описана установка Perl на локальный компьютер, для создания и отладки perl скриптов на сервере Apache.

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