Personal tools
Skip to content. | Skip to navigation
This module allows you to run a subprocess and redirect stdin, stdout, and/or stderr to files and perl data structures. It aims to satisfy 99% of the need for using system, qx, and open3 with a simple, extremely Perlish API and none of the bloat and rarely used features of IPC::Run.
This module provides a shared memory cache accessed as a tied hash. Shared memory is an area of memory that is available to all processes. It is accessed by choosing a key, the ipc_key argument to tie. Every process that accesses shared memory with the same key gets access to the same region of memory. In some ways it resembles a file system, but it is not hierarchical and it is resident in memory. This makes it harder to use than a filesystem but much faster. The data in shared memory persists until the machine is rebooted or it is explicitly deleted.
IPC::ShareLite provides a simple interface to shared memory, allowing data to be efficiently communicated between processes.
Calling Perl's in-built 'system()' function is easy; determining if it was successful is _hard_. Let's face it, '$?' isn't the nicest variable in the world to play with, and even if you _do_ check it, producing a well-formatted error string takes a lot of work. 'IPC::System::Simple' takes the hard work out of calling external commands. In fact, if you want to be really lazy, you can just write: use IPC::System::Simple qw(system); and all of your "system" commands will either succeed (run to completion and return a zero exit value), or die with rich diagnostic messages.
This is an object interface for System V messages, semaphores, and inter-process calls.
The IPTables::ChainMgr package provides an interface to manipulate iptables policies on Linux systems through the direct execution of iptables commands. Although making a perl extension of libiptc provided by the iptables project is possible, it is easy to just execute iptables commands directly in order to both parse and change the configuration of the policy. Further, this simplifies installation since the only external requirement is (in the spirit of scripting) to be able to point IPTables::ChainMgr at an installed iptables binary instead of having to compile against a library.