IPC::Filter(3) filter data through an external process


use IPC::Filter qw(filter);
$compressed_data = filter($data, "bzip2");


The "filter" function provided by this module passes data through an external command, thus providing filtering in non-pipeline situations.


filter(DATA, PROGRAM, ARGS ...)
The SHELL_COMMAND, or the PROGRAM with ARGS if more arguments are supplied, is executed as a separate process. (The arguments other than DATA are ultimately passed to "exec"; see ``exec'' in perlfunc(1) for explanation of the choice between the two forms.) The DATA (which must be either a simple string or a reference to a string) is supplied to the process on its standard input, and the process's standard output is captured and returned (as a simple string).

If the process exits with a non-zero exit code or on a signal, the function will "die". In the case of a non-zero exit code, the "die" message will duplicate the process's standard error output; in any other case, the error output is discarded.


Andrew Main (Zefram) <[email protected]>


Copyright (C) 2004, 2007, 2010, 2011 Andrew Main (Zefram) <[email protected]>


This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.