NAME
Quiq::Ipc - Interprozesskommunikation
BASE CLASS
METHODS
Methods
filter() - Rufe ein Kommando als Filter auf
Synopsis
$out = Quiq::Ipc->filter($cmd,$in,@opt);
($out,$err) = Quiq::Ipc->filter($cmd,$in,@opt);
$out = Quiq::Ipc->filter($cmd,@opt);
($out,$err) = Quiq::Ipc->filter($cmd,@opt);
Options
- -ignoreError => $bool (Default: 0)
-
Ignoriere Exitcode von Kommando $cmd. D.h. es wird keine Exception geworfen, wenn das Kommando fehlschlägt.
Description
Rufe Kommando $cmd als Filter auf. Das Kommando erhält die Daten $in auf stdin und liefert die Daten $out und $err auf stdout bzw. stderr. In Skalarkontext wird nur die Ausgabe auf stdout geliefert.
Achtung: Der Aufruf kann zu einem SIGPIPE führen, wenn per Parameter $in Daten an $cmd gesendet werden und das Kommando terminiert, bevor es alle Daten gelesen hat. Insbesondere sollten keine Daten an ein Kommando gesendet werden, das nicht von stdin liest!
pipeTo() - Pipe Daten an Kommando
Synopsis
$class->pipeTo($data,$cmd,@options);
Arguments
- $data
-
Die Daten, die an das Kommando gepiped werden.
- $cmd
-
Das Kommando, das die Daten von stdin liest und verarbeitet.
Options
- -encoding => $encoding
-
Mit welchem Encoding die Daten geschrieben werden.
- -toStdout => $bool (Default: 0)
-
Pipe die Daten nicht an das Kommando, sondern schreibe sie nach STDOUT. Dies ist nützlich, wenn das Kommando ein Pager ist, der nicht gestartet werden soll, wenn STDOUT kein Terminal ist:
Quiq::Ipc->pipeTo($data,'less -R',-toStdout=>!-t);
Description
Pipe Daten $data an Kommando $cmd.
VERSION
1.222
AUTHOR
Frank Seitz, http://fseitz.de/
COPYRIGHT
Copyright (C) 2024 Frank Seitz
LICENSE
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.