Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запуск файла 
:(
    Опции темы
apook
Дата 1.10.2007, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 794
Регистрация: 12.7.2006

Репутация: нет
Всего: 23



Как запустить exe файл из скрипта на Perl


--------------------
Мои руки из дуба, голова из свинца ну и пусть ...
PM MAIL   Вверх
GrayCardinal
Дата 1.10.2007, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: 1
Всего: 58



system ("ls -alh");


--------------------
PM MAIL WWW   Вверх
amg
Дата 1.10.2007, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 38
Всего: 50



qxsystemexecopen
PM MAIL   Вверх
GrayCardinal
Дата 1.10.2007, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: 1
Всего: 58



amg
А "qx" это как ?


--------------------
PM MAIL WWW   Вверх
apook
Дата 1.10.2007, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 794
Регистрация: 12.7.2006

Репутация: нет
Всего: 23



Благодарю за ответы. Но я заморачиваюсь по поводу возврата в скрипт некого результата работы exe-шника. Первое что приходит на ум запись результата в файл на диске и затем считывания этого файла скриптом , но то слишком банально. Может в Пел есть что то типа пайпов там потоки обмена данными или что то такое?  smile   


--------------------
Мои руки из дуба, голова из свинца ну и пусть ...
PM MAIL   Вверх
GrayCardinal
Дата 1.10.2007, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: 1
Всего: 58



apook
Так (на коленке)
Цитата

 open (FILE, "ls |");
 @out = <FILE>

@out - строки, что выдала "ls"


--------------------
PM MAIL WWW   Вверх
amg
Дата 1.10.2007, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 38
Всего: 50



Цитата(GrayCardinal @  1.10.2007,  15:04 Найти цитируемый пост)
amg, А "qx" это как ?
Цитата(apook @  1.10.2007,  15:13 Найти цитируемый пост)
 Но я заморачиваюсь по поводу возврата в скрипт некого результата работы exe-шника.
qx (синоним для обратных кавычек) как раз для этого. @out = qx('ls'); либо @out = `ls`; В отличие от open, не позволяет получать данные по мере поступления, только все разом и через шелл (с помощью open можно сделать без участия шелла).


Это сообщение отредактировал(а) amg - 1.10.2007, 15:32
PM MAIL   Вверх
apook
Дата 1.10.2007, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 794
Регистрация: 12.7.2006

Репутация: нет
Всего: 23



Цитата(amg @  1.10.2007,  15:29 Найти цитируемый пост)
с помощью open можно сделать без участия шелла
крайне заинтересован поподробней пожалуйстаЯ пошел гуглить....



--------------------
Мои руки из дуба, голова из свинца ну и пусть ...
PM MAIL   Вверх
amg
Дата 1.10.2007, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 38
Всего: 50



Читай про open с двумя или более аргументами.
open('-|', "command");
PM MAIL   Вверх
apook
Дата 1.10.2007, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 794
Регистрация: 12.7.2006

Репутация: нет
Всего: 23





--------------------
Мои руки из дуба, голова из свинца ну и пусть ...
PM MAIL   Вверх
apook
Дата 1.10.2007, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 794
Регистрация: 12.7.2006

Репутация: нет
Всего: 23



Код

#!/usr/bin/perl -w

open( README, "dir /b /ad C:\\*.* |" ) or die "Can`t run programm $!\n";
while( <README> )
{
    print $_;
    }
close( README );

Но меня не покидает подозрение что вывод все-же после завершения программы, в данном случае команда dir??


--------------------
Мои руки из дуба, голова из свинца ну и пусть ...
PM MAIL   Вверх
amg
Дата 1.10.2007, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 38
Всего: 50



Цитата(apook @  1.10.2007,  16:56 Найти цитируемый пост)
"dir /b /ad C:\\*.* |"
Чтобы проверить, попробуй что-то вроде 'perl -le "print($_) and sleep for 1..10" |'
Цитата(amg @  1.10.2007,  15:47 Найти цитируемый пост)
Читай про open с двумя или более аргументами.
 Это я впопыхах ошибся. Имелось в виду с тремя или более аргументами (еще FH, конечно).


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1022 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.