Форум программистов, компьютерный форум, киберфорум
Наши страницы
Perl
Войти
Регистрация
Восстановить пароль
 
Владимир.
1 / 1 / 0
Регистрация: 08.07.2009
Сообщений: 32
#1

Perl&PHP - Perl

25.09.2010, 13:11. Просмотров 786. Ответов 8
Метки нет (Все метки)

Здравствуйте.
Из файла Perl мне нужно выполнить некоторые действия другим файлом, файлом PHP (он в этой же папке) и продолжить работу первого файла т.е. Perl.
do, require, use что то не получилось у меня,
refresh выполняет задачу, но это вовсе неправильно, т.к. вместо того, чтобы выполнить все необходимые действия на сервере, начинается пересылка ненужных запросов пользователю и обратно и только потом продолжение выполнение основной программы.
Как можно решить задачу без запросов?

Добавлено через 1 час 38 минут
Не у меня одного такой вопрос - поиск по форумам - в разных вариантах такой вопрос неоднократно поднимался - конкретного ответа нигде не видно -> решения нет?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2010, 13:11
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Perl&PHP (Perl):

perl & flash
Всем привет! Есть сайт с флеш страницей, на которой нужно авторизоваться,...

Perl & JSON
Имеются данные в формате json: $VAR1 = { 'jsonrpc' => '2.0', ...

Я ненавижу Perl & мне нужно на нём писать
У меня на работе частенько возникают задачи, которые имеет смысл упростить...

Передача данных между Perl и PHP
Всем привет! Стоит такая вот задача: Есть файл test.php и test.pl и из...

Графика в Perl, как создать GIF в Perl.
Помогите создать GIF при помощи перла. И где взять модули?

Задачки на понимание Perl (Скользкие места Perl)
Задача на понимание списочных литералов что выведет каждая из строк $num...

8
Chainyk
15 / 15 / 2
Регистрация: 24.08.2010
Сообщений: 94
25.09.2010, 16:05 #2
Если файл PHP выполнимый, то можно задать в перл строку в обратных кавычках, как команду консоли. Не ругайтесь, если не верно, в PHP не разбираюсь
0
Владимир.
1 / 1 / 0
Регистрация: 08.07.2009
Сообщений: 32
25.09.2010, 16:31  [ТС] #3
Кавычки обратные, exec, не решают задачку
0
Amf3tam1N
49 / 48 / 5
Регистрация: 18.01.2010
Сообщений: 94
25.09.2010, 19:12 #4
Ну я чет не могу вспомнить чтобы перл и пхп в одном каталоге работали. Обычно котлеты отдельно, мухи отдельно. =) Посему такой выход из ситуации
это перл (лежит в cgi-bin)
Perl
1
2
3
4
5
6
7
#!/usr/bin/perl -w
use CGI::Carp qw/fatalsToBrowser/;
 
print "Content-Type: text/plain\n\n";
print "Hello";
 
system("../2.php");
а это пхп (лежит уровнем выше)
PHP
1
2
3
<?php
    echo "This is PHP"; 
?>
В итоге получилось "HelloThis is PHP";
и картинка в аттаче
0
Миниатюры
Perl&PHP  
Владимир.
1 / 1 / 0
Регистрация: 08.07.2009
Сообщений: 32
26.09.2010, 12:14  [ТС] #5
Hello This is PHP - это как раз то что и хочу, но не получается.
Понять бы, в чем у меня отличие от Ваших настроек -
записал файл perl в cgi-bin на сервере, в папке выше файл php,
запрос к файлу php - пишет This is PHP,
запрос к файлу perl - пишет Hello
(print "Content-Type: text/plain\n\n";
я заменил на
print "Content-type: text/html\n\n"; )
Но вот - Hello This is PHP - не выдает.

Настройки сервера (у меня free хостинг) или ещё варианты?
0
Vovan-VE
13148 / 6532 / 1038
Регистрация: 10.01.2008
Сообщений: 15,071
26.09.2010, 12:23 #6
Владимир., Почему нельзя писать всё на PHP или всё на Perl'е? Зачем их мешать?
0
Владимир.
1 / 1 / 0
Регистрация: 08.07.2009
Сообщений: 32
26.09.2010, 13:33  [ТС] #7
Прочел:
на реальном сервере нужно указывать полный путь к проге, поэтому "простенькая" конструкция
system("test_system1.pl");
работать не будет, а в винде она работает
Опробовал:
Для perl файлов конструкция с указанием полного пути работает, для php всё равно нет
(Hello This is PHP - не пишет опять).

Vovan-VE - всё из-за недостатка знаний, мне нужно сделать превьюшки, хост бесплатный, модули не инсталлируешь, имэджмэджика там нет, вот и нашёл решение на пхп в десяток строк превьюшки делать, а сайт мой на perl, отсюда и необходимость из perl в php и обратно.
0
Amf3tam1N
49 / 48 / 5
Регистрация: 18.01.2010
Сообщений: 94
26.09.2010, 23:08 #8
ну ежели вам полный путь нужен тогда можно так
Perl
1
2
3
4
5
6
7
8
9
#!/usr/bin/perl -w
use CGI::Carp qw/fatalsToBrowser/;
use Cwd;
 
print "Content-Type: text/plain\n\n";
print "Hello";
my $path = cwd;
 
system($path . "/../2.php");
хотя у меня линукс, все работает
0
Владимир.
1 / 1 / 0
Регистрация: 08.07.2009
Сообщений: 32
27.09.2010, 12:07  [ТС] #9
линукс мне видимо прийдётся изучать, или хост другой искать

(опять меняю: print "Content-Type: text/plain\n\n";
на: print "Content-type: text/html\n\n";
т.к. в первом варианте браузер предлагает сохранить ни диске файл .pl с одной строчкой Hello,
во втором варианте открывает страницей html, правда тоже с одной строчкой Hello).
0
27.09.2010, 12:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2010, 12:07
Привет! Вот еще темы с решениями:

Переводчик кода Си в Perl(Convert C to perl)
Нужна такая вещь, а в идеале код такой программы.

Как обстоят дела с Perl 6 и Perl 5
Сразу скажу не являюсь Perl-программистом(ибо Python), но решил...

Запустить perl-скрипт из perl-скрипта
Доброго времени суток! Есть главный скрипт и ещё один. Последний нужно...

Ищу книгу "Практика применения Perl, PHP, Apache, MySQL для активных Web-сайтов"
Доброго времени суток всем. Ищу книгу &quot;Практика применения Perl, PHP, Apache,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru