Автор Тема: как сделать, помогите плиз!!!  (Прочитано 3179 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн viewsonic

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 6
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
как сделать, помогите плиз!!!
« : 28 Февраля 2003, 17:09:55 »
Не знаю как сделать. Мне надо в рамках одного скрипта запустить программу, которая обрабатывает данные и шарахает их на стандартный вывод, а мне надо их как-то читать оттуда, как это сделать? Помогите плиз.

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
как сделать, помогите плиз!!!
« Ответ #1 : 28 Февраля 2003, 17:26:55 »
Подробнее. Что за скрипт, где и как...
И "шарахает" заменить на более подходяшее слово, не в подворотне ведь общаемся.
The documentations is your friend

Оффлайн viewsonic

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 6
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
как сделать, помогите плиз!!!
« Ответ #2 : 28 Февраля 2003, 17:38:34 »
Прошу прощения за жаргон.
Сейчас работает так.
Скрипт запускает стороннюю прогу.

system("./any_prg > any_file");

open (F, "any_file"); # открываем файл

   while () {
     ..... # обрабатываем его по строчно
   }

а я хочу брать данные сразу, не записывая их во временный файл.

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
как сделать, помогите плиз!!!
« Ответ #3 : 28 Февраля 2003, 17:55:00 »
Вот таким образом подойдет?
$list = `ls -l /home/`;
print $list;
The documentations is your friend

Оффлайн viewsonic

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 6
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
как сделать, помогите плиз!!!
« Ответ #4 : 28 Февраля 2003, 18:08:55 »
нет это не подходит.
так я получу список файлов, зачем мне это.
я хочу просто понять как сделать в рамках скрипта так называемую трубу.
Мой скрипт запускает программу, которая если запустить просто печатает на экран данные. Я же в скрипте ее запускаю так, что она печатает эти данные в файл, имя этого файла я задаю сам, а потом я этот файл открываю и читаю данные оттуда, а потом уже их обрабатываю.
Но меня эта схема не устраивает, временный файл большой и т.д.
Я хочу запускать эту программу в скрипте и ее результаты, минуя временный файл, получать и обрабатывать.
Вот.

Оффлайн mike

  • ProPerl\'er
  • Старожил
  • ****
  • Сообщений: 435
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
как сделать, помогите плиз!!!
« Ответ #5 : 28 Февраля 2003, 18:44:19 »
open FILE, "./any_prg |";
print ;
close FILE;

А по споcобу NeoNox будет то же самое, только проще. ;)

$list = `./any_prg`;
print $list;
« Последнее редактирование: 28 Февраля 2003, 18:59:01 от mike »
[ основной браузер когда-то был, теперь попробуй разберись =]

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
как сделать, помогите плиз!!!
« Ответ #6 : 28 Февраля 2003, 19:08:06 »
mike Да похоже он хочет манипулировать полученными значениями.
Можно все это в массив загнать и далее уже с элементами массива работать.
The documentations is your friend

Оффлайн mike

  • ProPerl\'er
  • Старожил
  • ****
  • Сообщений: 435
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
как сделать, помогите плиз!!!
« Ответ #7 : 28 Февраля 2003, 19:20:55 »
Цитировать
Можно все это в массив загнать и далее уже с элементами массива работать.


viewsonic
Кстати, тот же `` с этим здорово справляется.

@lines = `./any_prg`;
[ основной браузер когда-то был, теперь попробуй разберись =]

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
как сделать, помогите плиз!!!
« Ответ #8 : 28 Февраля 2003, 22:20:05 »
perldoc perlipc
:)
2B OR NOT 2B = FF

Оффлайн viewsonic

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 6
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
как сделать, помогите плиз!!!
« Ответ #9 : 03 Марта 2003, 00:06:02 »
Спасибо большое!
С массивом не пойдет, т.к. он получится очень большим, а вот с дескриптором попробую, наверное получится.
Еще раз спасибо.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28