Программирование в PERL

 

Страницы

Аватар пользователя Пешков Сергей
Могу прислать страждущим Programming Perl 2nd edition в HTML, в обмен на

lama book в том же формате. Жду писем.

Аватар пользователя Сергей Пешков
Кстати, не откажусь и от книжки "Язык С++" Бьорна Страуступа 3 редакции :-)

Разумеется в HTML.

Аватар пользователя Денис Марголин
Раздам Camel Book в HTML за так. Возможно, скоро выложу на сервер.
Аватар пользователя Dynamic
Кому нужен ентот Перл, когда имеется TCL!?
Аватар пользователя Кирилл
Люди! Если не сложно, объясните плз что означает точка в строке $_ .="&" и как даная строка работает.

Заранее благодарен,

Кирилл

Аватар пользователя В.Н.
Эта строка означает, что к скалярной переменной $_ (переменной по умолчанию) надо присоединить строковую константу "&":

$_="test";

$_.="&"; // $_ теперь равно "test&"

Аватар пользователя Кирилл
Спасибо В.Н.,Вы меня очень выручили. Я предпологал, что это работает именно так, но надо было еще раз убедиться.

Удачи!

Аватар пользователя Чайник
Помогите новичку. Как отладить CGI-скрипты на своем компьютере? Чего, куда и как установить нужно? Какие книжки почитать об этом? Заранее благодарен.
Аватар пользователя В.Н.
1. Вам надо установить язык, на котором Вы будете писать CGI-скрипты. Например, Perl.

2. Несмотря на то, что скрипты можно запускать и локально, советую для более серъезной отладки поставить WEB-Server. Любителям минимализма можно установить TinyWeb компании RIT Reseach Labs, я люблю отлаживать под Apache. Некоторые советуют Sambar. Но лучше всего использовать тот Веб-сервер, под которым Вы будете хоститься. Хотя это и не так важно. У меня одновременно стоят: Apache, Netscape FastTrack Server, TinyWeb.

3. Из русскоязычной литературы по Perl советую купить "Изучаем Перл" (издательство BHV). Эта книжка является переводом "Learning Perl, 2nd edition" издательства O'Reilly. Кроме этого в сети можно найти книгу Маслова Владимира Викторовича. Покупать ее издание не советую, но как литературу использовать можно.

4. Из англоязычной - книги "Programming Perl, 2nd edition" и "Perl Cookbook". До меня доходили слухи, что последнюю видели в русском электронном варианте на сидишке, но точно сказать не могу. Хотя ее перевод сейчас осуществляется. Но так как она у меня есть в бумажном английском варианте, то я и не искал русский.

5. Советую попытаться написать собственные стандартные скрипты - форумы, гостевые книги, счетчики. А потом посмотреть, что сделали другие.

С уважением, В.Н.

Аватар пользователя Чайник
Большое спасибо за совет, В.Н.! Не могли бы Вы описать по подробнее, как именно прописать путь к своему CGI-скрипту (или PERLу), чтобы мой сервер автоматически запускал PERL для выполнения этого скрипта. А может я что-то не туда установил?

Заранее спасибо.

Аватар пользователя Денис Марголин
Это зависит от сервера. Во-певых, надо ассациировать файлы с расширением pl (cgi, p или какое вы там используете) с Перлом. Если у вас перл от www.activestate.com (кстати, рекомендую) -- это у вас уже сделано при инсталляции.

Во-вторых, надо разрешить выполнение скриптов из той директории, где вы их размещаете. Как это сделать, написано в доке по серверу. У тинивеба можно использовать только директорию cgi-bin. Для апача нужно прописать параметр Script-alias в файле httpd.conf. Для IIS/PWS надо выставить права на чтение и выполнение на директорий со скриптами при помощи management console. Читай доку по серверу.

Наконец, надо _ПРАВИЛЬНО_ прописать в первой строчке скрипта путь к перлу, многие сервера используют его даже под Windows. Например,

#!D:\Perl\bin\perl.exe

После этого должно работать.

Аватар пользователя Чайник
Большое спасибо за помощь. Теперь действительно все работает.
Аватар пользователя Николай
для сервера надо установить файл с помощью cdmod в 777.

А где его взять на NT?

и вообще что значат все эти 777 - 666?

Аватар пользователя В.Н.
Для НТ этого делать не надо. каждая цифра в восьмеричной системе отвечает за права доступа.

первая цифра - права владельца

вторая цифра - права группы

третья цифра - права для всех остальных

далее 1 - это право на запуск, 2 - на запись, 4 - на чтение

1+2+4=7 (в двоичной системе 111) - это значит, что установлены все права

Аватар пользователя Николай
Ага, понял.

Еще! Я сделал директорий cgi-bin списал туда файл. На серваке все есть. Запускаю файл - пишет, что нет этого директория?

Впрочем можете посмотреть на сайте www.dfpoint.com нажав на раздел форум.

Аватар пользователя В.Н.
Для запуска скриптов из директорий

1. Надо поставить права на директорию, как минимум 755

2. Если у HTTPD сервера не настроен запуск скриптов по расширению, то надо разрешить запуск скриптов из данной директории

Аватар пользователя Николай
Поставил я на этот директорий полный доспут для всех. всеравно. да и нашел как ставить эти циферки - в Far ставишь свойиства файла и там все показывает. Буду писать им.

У них там на сайте все написано я сделал как у них - всеравно.

Аватар пользователя В.Н.
До меня дошли слухи, что вышла Perl Cookbook на русском.

С уважением, В.Н.

Аватар пользователя В.Н.
Дополнительная информация по книге:

Кристиансен, Perl: библиотека программиста

стоимость - 3 200 000 (может кто и другую цену найдет - не знаю)

С уважением, В.Н.

Аватар пользователя Ракицкий С.Е.
На virtualave.net нельзя использовать $ENV{'HTTP_COOKIE'}. Многие пользователи отключают поддержку Java и PERL единственная надежда. Как можно скриптом послать "ключик" в броузер и обрабатывать посылки броузера при повторном использовании посетителем CGI скрипта?

Пожалуйста, подробнее - я не волшебник, а только учусь.

Заранее благодарен. Ракицкий С. Е.

Аватар пользователя baxter
Как Можно отключить поддержку Перл? %)

Поставить ключик можно так:

print "Set-Cookie: COOKIE_NAME=COOKIE_VALUE\;";

Получить ключик можно так:

$mycookies = "$ENV{'HTTP_COOKIE'}"; # Все ключики

@mycookiess = split (/; /,$mycookies); # Делим на месте ;

foreach $keys (@mycookiess){

if ($keys =~ /COOKIE_NAME=/) # Ищем наш ключик

{

@twoparts = split (/=/, $keys); # Нашли и делим на месте =

$ourcookiename = $twoparts[0];

$lines =~ s/$ourcookiename//;

$ourcookie = $twoparts[1]; # $ourcookie Теперь равно значению нашего ключика

last;

}

}

Аватар пользователя Ракицкий С. Е.
Спасибо за помощь.

Ракицкий С. Е.

Аватар пользователя AlexPPP
Кто подскажет, где Перл под Винзду можно взять...... и какой сервер лучше установить для просмотра и редактирования CGI-ишек. Заранее благодарен
Аватар пользователя Алекс Дробыш
http://www.activestate.com/ActivePerl/ -- Perl под Windoze
Аватар пользователя life4beer
Под винды для перл сервер либо Apache либо Sambar.
Аватар пользователя DEEP
Алтависта уже загрузилась? :-)

А www.perl.com(.org .net) ?

Apache одназначно. И под *никсы и под НТ. Проще будет.

Аватар пользователя Dmitry Sheiko
Для Sergey Mashinsky:

Послушай, у меня такая же проблема была (долго мучился) Алекс прав - надо только вырезать символ (ASCII-13), на webclub.ru предлагают для этого перл-скрипт, но можно проще. Возьми у меня на http://bforum.virtualave.net маленькую утилитку и повырезай лишний символ в свой скриптах и все заработает.

Аватар пользователя SuperLamer
Может кто-нибудь подскажет по пунктам как запускать Perl скрипты из под IIS
Аватар пользователя Денис Марголин
Надо с www.activstate.com скачать perl, в их дистрибуцию входит perl for ISAPI. И там же описано, как его настроить, в FAQ поставляемом с дистрибуцией.
Аватар пользователя Ракицкий С.Е.
В форуме на virtualave.net я использую DB_File. После 25 числа часть скрипта, работавшая с базами не функционирует. Кто-нибудь знает, что на virtualave.net случилось?

Ракицкий С. Е.

Страницы