[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: The "Right Way" (TM) to run external program out of gtk2-perl app?
- From: "A. Pagaltzis" <pagaltzis gmx de>
- To: gtk-perl-list gnome org
- Subject: Re: The "Right Way" (TM) to run external program out of gtk2-perl app?
- Date: Wed, 31 Aug 2005 01:11:46 +0200
* Stephan Brunner <stephan brunner gmx de> [2005-08-30 22:45]:
> On Windows XP (ActiveState / 5.8.0), the usage of @cmd causes a
> "List form of pipe open not implemented" error. Using
>
> my $pid = open my $child, '-|', $cmd
> or die "can't fork convert: $!";
>
> instead works fine, but filenames (containing blanks) must now
> be quoted.
Ugh. Yeah, DOS/Win32 doesn’t have a list of arguments, it only
has a single string.
Each program that wants a list has to parse that flat string
itself. This is, of course, because DOS filenames used to be 8+3,
with many characters disallowed, incl. spaces, so splitting on
spaces was enough, once upon a time.
That’s the kind of brokenness that happens when you try to grow
from toy to serious…
Something like
open my $child, '-|', join( ' ', map qq["$_"], @cmd )
should work, I think, but I don’t have a Windows box to test
with.
Regards,
--
#Aristotle
*AUTOLOAD=*_=sub{s/(.*)::(.*)/print$2,(",$\/"," ")[defined wantarray]/e;$1};
&Just->another->Perl->hacker;
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]