Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: php и perl

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
dsb80
Отправлено: 30 Июня, 2010 - 23:30:02
Post Id



Гость


Покинул форум
Сообщений всего: 71
Дата рег-ции: Янв. 2009  
Откуда: СПб


Помог: 0 раз(а)




Вот незнаю где спросить ибо гугл имхо помалкивает, но как не странно даже знаю кто может мне ответить=)
Вопрос в следующем: решил занятся изучением Perl, но времени нехватает, вот и думаю... Можноли часть сайта(модуль какойнить) на php замутить на Perl(ну из Js в Php и обратно можноже значения переменных передавать и в С++ с Fortran можно выкрутится в общем примеров много)? Получится ака совмещение приятного с полезным.


-----
Не слушайте... После 19.00 вместо меня пишет ПЫВО
 
 Top
awiz
Отправлено: 01 Июля, 2010 - 00:02:05
Post Id



Гость


Покинул форум
Сообщений всего: 69
Дата рег-ции: Май 2010  


Помог: 0 раз(а)




dsb80 пишет:
Вот незнаю где спросить ибо гугл имхо помалкивает, но как не странно даже знаю кто может мне ответить=)
Вопрос в следующем: решил занятся изучением Perl, но времени нехватает, вот и думаю... Можноли часть сайта(модуль какойнить) на php замутить на Perl(ну из Js в Php и обратно можноже значения переменных передавать и в С++ с Fortran можно выкрутится в общем примеров много)? Получится ака совмещение приятного с полезным.

perl не знаю, но есть варианты:
1)запись в файл перлом, пхп вытащить
2)база данных
3)по http получить результат программы
 
 Top
dsb80
Отправлено: 01 Июля, 2010 - 00:13:23
Post Id



Гость


Покинул форум
Сообщений всего: 71
Дата рег-ции: Янв. 2009  
Откуда: СПб


Помог: 0 раз(а)




awiz пишет:
3)по http получить результат программы

Это обязательно попробую, но меня интересунет чтото типо(самого улыбает, но всётаки)...
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $path= '/home/user/www/site1/page.pl';
  4. if (is_readable($path))
  5. {
  6.   require_once $path;
  7. }
  8. // как вариант через  ob_start()
  9. ?>
  10.  
  11.  

(Отредактировано автором: 01 Июля, 2010 - 00:27:52)



-----
Не слушайте... После 19.00 вместо меня пишет ПЫВО
 
 Top
JustUserR
Отправлено: 01 Июля, 2010 - 01:18:11
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




dsb80 пишет:
Вот незнаю где спросить ибо гугл имхо помалкивает, но как не странно даже знаю кто может мне ответить=)
Вопрос в следующем: решил занятся изучением Perl, но времени нехватает, вот и думаю... Можноли часть сайта(модуль какойнить) на php замутить на Perl(ну из Js в Php и обратно можноже значения переменных передавать и в С++ с Fortran можно выкрутится в общем примеров много)? Получится ака совмещение приятного с полезным.
Perl является полноценным backend-ом и с его помощью можно легко заменить PHP-скрипты за счет использования CGI-интерфейса и получить более широкие возможности - например на Perl возможно создание контрлируемой загрузки файлов от пользователя по HTTP с соответствующим процентным прогресс-баром - а также написание NPH-скриптов и запуск Perl-скриптов от имени определенного пользоваетля с использованием suexec
Также для Perl существует большое число модулей - благодаря чему можно осуществить многие привычные возможности PHP по автоматической обработке данных от пользователя и тд - но при этом получить еще достаточно большое число возможностей
awiz пишет:
1) Запись в файл перлом, пхп вытащить
2) База данных
Так как и Perl и PHP являются backend-ами и служат в некотором смысле для решения одной и той же задачи на одном web-сайте - то можно организовать взаимодействие между сеансами выполнения Perl-скриптов и PHP-скриптов точно такое же как и между выполнениями одних PHP-скриптом - а именно использовать сессии за счет реализации соответствующей сериализации данных
dsb80 пишет:
Это обязательно попробую, но меня интересунет чтото типо(самого улыбает, но всётаки)...
В приведенном вами PHP-кодом произойдет просто подключения Perl-кода как выводимого на экран текста - как варианты возможного запуска можно использовать или shebang-конструкцию с прямым выполнения Perl-скрипта - или для того чтобы задействовать CGI-интерфейс и возможные настройки Apache для CGI-скриптов то делать запуск типа /usr/bin/links URL-path


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
awiz
Отправлено: 01 Июля, 2010 - 14:00:20
Post Id



Гость


Покинул форум
Сообщений всего: 69
Дата рег-ции: Май 2010  


Помог: 0 раз(а)




JustUserR пишет:
В приведенном вами PHP-кодом произойдет просто подключения Perl-кода как выводимого на экран текста - как варианты возможного запуска можно использовать или shebang-конструкцию с прямым выполнения Perl-скрипта - или для того чтобы задействовать CGI-интерфейс и возможные настройки Apache для CGI-скриптов то делать запуск типа /usr/bin/links URL-path

а еесли ob_start-ом перехватить? например
PHP:
скопировать код в буфер обмена
  1. function import_perl($file){
  2. include $file;
  3. $return=ob_get_contents();
  4. return $return;
  5. }

(Отредактировано автором: 01 Июля, 2010 - 14:01:16)

 
 Top
JustUserR
Отправлено: 01 Июля, 2010 - 14:36:04
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




awiz пишет:
А еесли ob_start-ом перехватить? например
Дело в том что Perl-скрипт подключать таким образом по определению нельзя - ведь в случае команды import его будет пытаться обработать PHP-интерпретатор Как минимум можно добавить в него shebang-конструкцию и сделать его исполняемым и запускать через system с указанием прямого пути до него - однако в этом случае запуск будет происходить вне CGI-пространства
Можете посмотреть здесь http://forum.php.su/topic.php?fo...m=65&topic=3 описание работы CGI-скриптов - и конкретные примеры запуска Perl-скриптом с приведенной конфигурацией


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
awiz
Отправлено: 01 Июля, 2010 - 15:35:09
Post Id



Гость


Покинул форум
Сообщений всего: 69
Дата рег-ции: Май 2010  


Помог: 0 раз(а)




JustUserR пишет:
awiz пишет:
А еесли ob_start-ом перехватить? например
Дело в том что Perl-скрипт подключать таким образом по определению нельзя - ведь в случае команды import его будет пытаться обработать PHP-интерпретатор Как минимум можно добавить в него shebang-конструкцию и сделать его исполняемым и запускать через system с указанием прямого пути до него - однако в этом случае запуск будет происходить вне CGI-пространства
Можете посмотреть здесь http://forum.php.su/topic.php?fo...m=65&topic=3 описание работы CGI-скриптов - и конкретные примеры запуска Perl-скриптом с приведенной конфигурацией

спасибо, очень интересно!
наконецто понял, почему в винодовс не работала эта строка, когда я на c++ пробовал эксперименты делать. Изза этого я не понимал ее смысла...
(Добавление)
вот у меня есть еще 1 вопрос:
скажите, пожалуйста, - CGI-это обычные приложения конольные, с которых поток вывода идет не в консоль, а http-клиенту? тоесть cout на C++- будет какраз то же, что echo?

(Отредактировано автором: 01 Июля, 2010 - 15:42:08)

 
 Top
JustUserR
Отправлено: 02 Июля, 2010 - 02:41:54
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




awiz пишет:
Спасибо, очень интересно!
Наконецто понял, почему в винодовс не работала эта строка, когда я на c++ пробовал эксперименты делать. Изза этого я не понимал ее смысла...
Вот у меня есть еще 1 вопрос:
Скажите, пожалуйста, - CGI-это обычные приложения конольные, с которых поток вывода идет не в консоль, а http-клиенту? тоесть cout на C++- будет какраз то же, что echo?
Пожалуйста! Использование CGI-интерфейса при правильной его настройке и работы с ним является достаточно мощным средством - в частности с помощью него можно писать NPH-скрипты которые позволяет полностью контролировать передачу данных к HTTP-клиенту При этом для запуска исполняемого двоичного кода программ по интерфейсу CGI никакой shebang-конструкции не требуется - ведь если согласно настройкам определенный фалй опредяляется Apache как CGI-скрипт то он сам производит анализ этого файла - и если он оказывает PE-модулем то происходит его запуск Необходимо отметить что работы Apache в таком случае под windows и linux будет несколько отличаться - ведь в linux-системах shebang-конструкция является системной возможностью и поэтому можно создавать каскады таких вызовов в том случае если указанный shebang-интерпретатор также не является исполняемым файлом - в то время как под windows если указанный интерпретатор не является исполнемым файлов и не находится в исполняемом CGI-пространстве то его дальнейшая каскадная обработка прекращается
При использовании конструкций cin/cout в вашей C++-программе они будут с точки зрения CGI-интерфейса аналогичны Perl-функции print - но при этом они не совсем будут одинаковы с PHP-функцией echo по той причине что PHP-скрипт собственно не является CGI-скриптом Несмотря на то что в простых случаях поведение данных функций будет инедтично - при использовании возможностей формирования HTTP-заголоков с особыми кодировками символов или кодированием пересылаемых данных разницу можно заметить Например в PHP-скриптах все HTTP-заголовки отправляются с помощью специальной функции и заранее приводятся к 7bit-виду - в то время как в реальных CGI-скриптах такое преобразование необходимо проводить вручную


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
awiz
Отправлено: 02 Июля, 2010 - 10:00:19
Post Id



Гость


Покинул форум
Сообщений всего: 69
Дата рег-ции: Май 2010  


Помог: 0 раз(а)




JustUserR пишет:

При использовании конструкций cin/cout в вашей C++-программе они будут с точки зрения CGI-интерфейса аналогичны Perl-функции print

спасибо! а вот что делают конструкции типа system("pause") ? пользователь же не может нажать кнопку? это же он никогда не кончится и должен зависнуть?
 
 Top
JustUserR
Отправлено: 03 Июля, 2010 - 02:34:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




awiz пишет:
Спасибо! а вот что делают конструкции типа system("pause") ? пользователь же не может нажать кнопку? это же он никогда не кончится и должен зависнуть?
Пожалуйста! Вообще в CGI-скриптах и других консольных приложениях не стоит использовать вызов команд которые требуют определенного ввода от пользователя - особенно если ввод осуществляется не через стандартный STDIN-канал а путем обработки нажатий на клавишы В случае если какая-то вызываемая программа требует ввода через стандартный поток по это можно огранизовать - например с помощью указания файла замещающего ввод пользователя или путем перенаправления собственного STDIN-канала - в CGI-скрипте это тоже может быть реализуемо поскольку по данному каналу приходят POST-данные или в случае их отсутствия или полного прочтения маркер конца файла Другое дело если программа требуется интерактивного взаимодейтсвия с пользователем на основе обработки событий - как например команда pause то ее использование в таком контексте недопустимо


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Другие языки программирования »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB