|
Prev: FAQ 4.13 How do I find the current century or millennium?
Next: FAQ 4.9 How can I output Roman numerals?
From: Ronny on 5 May 2008 08:39 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? Ronald
From: Ben Morrow on 5 May 2008 18:28
Quoth Ronny <ro.naldfi.scher(a)gmail.com>: > 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(a)morrow.me.uk] |