* Stephan Brunner <[EMAIL PROTECTED]> [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; _______________________________________________ gtk-perl-list mailing list gtk-perl-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-perl-list