From: Rogan Dawes Date: Fri, 24 Feb 2006 05:19:45 GMT Subject: Re: [PATCH] Convert open("-|") to qx{} calls Message-ID: <43FE9771.4030206@dawes.za.net> In-Reply-To: <20060223211403.GB5827@steel.home> Alex Riesen wrote: > Randal L. Schwartz, Thu, Feb 23, 2006 21:41:44 +0100: >> Johannes> Now that our local Perl guru joined the discussion, may I ask what >> Johannes> is, and what is not quoted when put inside qx{}? >> >> Nothing is quoted. Your string acts as if it was XXX in: >> >> sh -c 'XXX' >> > > Not so for ActiveState. It'll just run the first non-whitespace word > passing the rest of the line in its command-line. > It's not even worse then to pass it all to cmd/command :) > Not true. > type t #!perl -w print qx{echo joe & echo joe}."\n"; > perl t joe joe > If the shell was not interpreting the arguments, you would expect to get 1 line with: joe & echo joe on it. > perl -v This is perl, v5.8.7 built for MSWin32-x86-multi-thread (with 7 registered patches, see perl -V for more detail) Copyright 1987-2005, Larry Wall Binary build 813 [148120] provided by ActiveState http://www.ActiveState.com ActiveState is a division of Sophos. Built Jun 6 2005 13:36:37 Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5 source kit. Complete documentation for Perl, including FAQ lists, should be found on this system using `man perl' or `perldoc perl'. If you have access to the Internet, point your browser at http://www.perl.org/, the Perl Home Page. Regards, Rogan