🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.perl
5 messages
5 total messages Started by Tomasz Pilat Mon, 20 Oct 1997 18:41
Normalnie zglupialem (IPC)
#599
Author: Tomasz Pilat
Date: Mon, 20 Oct 1997 18:41
26 lines
1427 bytes
Hej.
Mam problem. Już zgłupiałem od tego, próbowałem na 100 róznych sposobów
i...windows..
Wygląda to tak:

Linux 1.2, Perl 5.003.

Mam program (program.exe) który przyjmuje dane ze STDIN i wywala na STDOUT.
Chce zrobić prostą rzecz:
Uruchomić program.exe i ze skryptu poczęstować go danymi (@TABLICA).
Kazda linia na wejsciu (STDIN progamu) produkuje zero lub jedna linię na
wyjsciu (STDERR programu). Chce wczytać wszystko co wyszlo na STDERR
programu do tablicy. I potem, gdy program.exe zakończy dziłanie,
zajać się tą tablicą.

Wyraziłem się jasno?

Jeśli ktoś ma jakieś pomysły to bardzo prosze o podzielenie się.
Ja już dobrnąłem do kresu moich możliwości (i cierpliwości)

TP 
-- 
Tomasz "Poncki" Piłat
poncki@PoncLAND.xyz.lublin.pl
http://PoncLAND.xyz.lublin.pl/
http://PoncLAND.xyz.lublin.pl/GazNETa/ - Miesiecznik Internetowy.
Re: Normalnie zglupialem (IPC)
#600
Author: Artur Urbanowicz
Date: Tue, 21 Oct 1997 07:25
31 lines
1698 bytes
Tomasz Pilat <tomekp@fenix.xyz.lublin.pl> pisze:
> [...]
> Uruchomić program.exe i ze skryptu poczęstować go danymi (@TABLICA).
> Kazda linia na wejsciu (STDIN progamu) produkuje zero lub jedna linię na
> wyjsciu (STDERR programu). Chce wczytać wszystko co wyszlo na STDERR
> programu do tablicy. I potem, gdy program.exe zakończy dziłanie,
> zajać się tą tablicą.
> [...]

Jezeli zewnetrzny program pisze wylacznie do stderr, to rozwiazanie
moze byc na przyklad takie (nie mialem zadnego program.exe):

  @dane = ( 1, 2, 3 );
  $program = "xargs ls"; 
  $tmp = "/tmp/$$";

  umask 077;
  open( f, ">$tmp" );
  print f join( "\n", @dane ), "\n";
  close( f );

  @wynik = split( /\n+/, `$program < $tmp 2>&1` );
  unlink $tmp;

  print "wynik: ", join( ", ", @wynik );

W razie koniecznosci oddzielenie stdout od stderr wywolywanego programu
pomoc moze... Perl FAQ, a konkretnie odpowiedz na pytanie "How can I capture
STDERR from an external command?".

Pozdrawiam: Artur Urbanowicz
Re: Normalnie zglupialem (IPC)
#601
Author: Piotr Piatkowski
Date: Tue, 21 Oct 1997 11:46
19 lines
1444 bytes
Artur Urbanowicz <artur@apollo.umcs.lublin.pl> wrote:
: Tomasz Pilat <tomekp@fenix.xyz.lublin.pl> pisze:
: > [...]
: > Uruchomić program.exe i ze skryptu poczęstować go danymi (@TABLICA).
: > Kazda linia na wejsciu (STDIN progamu) produkuje zero lub jedna linię na
: > wyjsciu (STDERR programu). Chce wczytać wszystko co wyszlo na STDERR
: > programu do tablicy. I potem, gdy program.exe zakończy dziłanie,
: > zajać się tą tablicą.
: > [...]

[...]
: W razie koniecznosci oddzielenie stdout od stderr wywolywanego programu
: pomoc moze... Perl FAQ, a konkretnie odpowiedz na pytanie "How can I capture
: STDERR from an external command?".

Można też użyć funkcji Open3 (perldoc IPC/Open3)

-- 
Piotr Piątkowski, Uczelniane Centrum Informatyki, AGH Krakow, POLAND
Re: Normalnie zglupialem (IPC)
#602
Author: Tomasz Pilat
Date: Tue, 21 Oct 1997 17:56
11 lines
1025 bytes
Piotr Piatkowski <kompas@galaxy.uci.agh.edu.pl> wrote:
> Można też użyć funkcji Open3 (perldoc IPC/Open3)
Hm. Ja bawiłem się tylko z Open2...dzięx, pomęcze się :>

> Piotr Piątkowski, Uczelniane Centrum Informatyki, AGH Krakow, POLAND
TP
-- 
Tomasz "Poncki" Piłat
poncki@PoncLAND.xyz.lublin.pl
http://PoncLAND.xyz.lublin.pl/
http://PoncLAND.xyz.lublin.pl/GazNETa/ - Miesiecznik Internetowy.
Re: Normalnie zglupialem (IPC)
#603
Author: Tomasz Pilat
Date: Tue, 21 Oct 1997 18:31
20 lines
1491 bytes
Artur Urbanowicz <artur@apollo.umcs.lublin.pl> wrote:
> Jezeli zewnetrzny program pisze wylacznie do stderr, to rozwiazanie
> moze byc na przyklad takie (nie mialem zadnego program.exe):
Thanx, jak tylko wróce do domu to sprawdze czy robi to o co mi chodziło, czy
sie źle wyraziłem :>
Co prawda chciałem rozwiązanie bez plików .tmp...ale w sumie zawsze mogę
nagiąć wcześniejsze założenia :>

> W razie koniecznosci oddzielenie stdout od stderr wywolywanego programu
> pomoc moze... Perl FAQ, a konkretnie odpowiedz na pytanie "How can I capture
> STDERR from an external command?".
Ha. Dobry pomysł. Przy okazji w końcu ściągne sobie V3 tego FAQ :>

> Pozdrawiam: Artur Urbanowicz
TP
-- 
Tomasz "Poncki" Piłat
poncki@PoncLAND.xyz.lublin.pl
http://PoncLAND.xyz.lublin.pl/
http://PoncLAND.xyz.lublin.pl/GazNETa/ - Miesiecznik Internetowy.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads