From: Randal L. Schwartz Date: Thu, 23 Feb 2006 20:41:44 GMT Subject: Re: [PATCH] Convert open("-|") to qx{} calls Message-ID: <86lkw1g647.fsf@blue.stonehenge.com> In-Reply-To: >>>>> "Johannes" == Johannes Schindelin writes: 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' so any quoting is entirely on your own. Thus, without the multi-arg exec in my proposed replacement, you can get shell-ish interactions that can ruin your day pretty bad. Johannes> I had the Johannes> impression that all arguments are quoted, except that variables are Johannes> resolved first. Was that wrong? IOW does Johannes> qx{bash $variable} Johannes> quote the value of $variable, or not? The Perl $variable is expanded to its current contents. But suppose the contents are `date` (including the backquotes). That would mean that a shell would execute a date command, and *its* output would then contribute further to the command invocation. -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 Perl/Unix/security consulting, Technical writing, Comedy, etc. etc. See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!