help with qx?
Toby Corkindale
tjc at wintrmute.net
Wed Feb 6 01:10:53 GMT 2008
On Wed, Feb 06, 2008 at 12:39:20AM +0000, Iain Barnett wrote:
> Hello all,
>
> Sorry for not mailing to kick the crap out of
> Perl5/6/MVC/Catalyst/Maypole/Jifty/Mornington Crescent/other mongers...,
> but I have a small technical question to ask and a room full of perl
> sceptics (a.k.a C# developers) waiting for a script to cure their build
> process!
>
> The script has a system call (to the svn command-line client), and it could
> possibly return a lot of lines back so I don't want to store it in an
> array, but process it as it's coming through. Is there a way to force qx or
> `` into list context, or something equally helpful?
You might find IPC::Open3 / open3 useful here - it spawns the command and gives
you back file handles for stdin, stderr.
See http://www.perl.com/doc/manual/html/lib/IPC/Open3.html
If you're just handling, say, stdout, then you might find it simpler to just
use open with the | parameter, ie:
my $cmd_output = IO::File->new('svn checkout foo |')
or die("Error: $!");
while (<$cmd_output>) {
next unless /thing you're looking for/;
warn "about stuff\n";
}
You can find discussion on these topics with 'perldoc perlipc'.
cheers,
Toby
More information about the london.pm
mailing list