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

Perl&PHP

25.09.2010, 13:11. Просмотров 794. Ответов 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 & flash
Всем привет! Есть сайт с флеш страницей, на которой нужно авторизоваться,...

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

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

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

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

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
13157 / 6542 / 1038
Регистрация: 10.01.2008
Сообщений: 15,070
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 (Скользкие места Perl)
Задача на понимание списочных литералов что выведет каждая из строк $num...

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

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


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

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

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