|
Posted by Ben Morrow on May 5, 2008, 6:28 pm
Please log in for more thread options
> I'm using ActiveState Perl 5.10.0 for Windows, and wanted to use
> IPC::Cmd for running external programs. To my surprise, I found
>
> IPC::Cmd->can_capture_buffer
>
> returning false, meaning that I can't use it to capture the output of
> the programs. Also, I found
>
> IPC::Cmd->can_use_ipc_run
>
> returning false, but
>
> IPC::Cmd->can_use_ipc_open3
>
> returning true. Does anybody know about a Perl implementation for
> Windows where these features are implemented? Can the
> ActiveState implementation of IPC::Cmd be used for anything
> useful at all under these circumstances?
You need to install IPC::Run. You can only capture buffers under Win32
if you can use IPC::Run (and if you're not on Win98), and you can only
use IPC::Run if it's installed. Probably IPC::Cmd ought to depend on
IPC::Run if it's being installed under Win32, since it isn't useful
without it.
(As a hint, all of the above is very clear from the source of the
module. If a module's not doing what you expect, it's always worth at
least glancing at the source, to see if there's some obvious reason.)
Ben
--
You poor take courage, you rich take care:
The Earth was made a common treasury for everyone to share
All things in common, all people one.
'We come in peace'---the order came to cut them down. [ben@morrow.me.uk]
|