|Syntactic Confectionery Delight|
Re: Re: Re: Test::Harness not working on my machineby schwern (Scribe)
|on Apr 05, 2003 at 04:04 UTC||Need Help??|
> re compatible: how about using the fancy Openxxx modules instead of the open| syntax?
I remember having lots of trouble getting IPC::Open* working on some OS's. Currently I think that's whatever doesn't implement fork() (VMS immediately comes to mind). Most of the time it will work on Windows, but not if you use Borland's C compiler according to the tests.
And that's just with the latest version of Perl. Don't want to know what it gets like as you go to older versions.
> Hmm, the list form of system() already has platform-specific code for dealing with the arguments. It bypasses the shell and doesn't have to re-assemble them on UNIX I beleive, and on Windows it knows to put quotes around every individual argument before concatenating it together to form the command tail.
system() doesn't help me, I can't capture the output reliably. :( Often system() will not respond to redirecting/tying *STDOUT and *STDERR inside Perl.
> Also, what's wrong with using the list form of open in 5.8, and concatenating the list together for 5.6 or older? Just a line or two difference, easy to check the Perl version in an if() statement.
Ok, send me a patch. Oh, and don't forget to try it out on Win98, Cygwin, VMS and Unix. 5.6.1 and 5.8.0 at least on each. 5.5.3 and 5.4.5 if you can. Thanks.
Sorry to be a dick, but that's what's minimally involved in trying out new things with Mission Critical core modules like Test::Harness and MakeMaker. It Has To Work. Worse, It Has To Work Everywhere. And I'm usually the one that has to make sure it works everywhere. :( Its very time consuming. Yes I'm being crotchity.
The latest Test::Harness alpha on CPAN has a work around that should work.