What makes you think it "fails to pass"? Works fine for me.
Makefile:
all: echo NODEBUG=$(NODEBUG) echo ADDED_CFLAGS=$(ADDED_CFLAGS)
655027.pl:
my $cmd = q|nmake /s NODEBUG=1 "ADDED_CFLAGS=/DCOST_EN_US /DPAYMENT_CR +EDIT_CARD"|; open(my $fr_nmake, '-|', "$cmd 2>&1") or die; print <$fr_nmake>; close($fr_nmake);
Output:
>perl 655027.pl Microsoft (R) Program Maintenance Utility Version 6.00.8168.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved. NODEBUG=1 ADDED_CFLAGS=/DCOST_EN_US /DPAYMENT_CREDIT_CARD
On a non-Windows system, you'd do:
my @cmd = ('nmake', '/s', 'NODEBUG=1', 'ADDED_CFLAGS=/DCOST_EN_US /DPA +YMENT_CREDIT_CARD'); my $cmd = join ' ', map quotemeta, @cmd; open(my $fr_nmake, '-|', "$cmd 2>&1") or die; print <$fr_nmake>; close($fr_nmake);
In reply to Re: How to open a pipe from CMD if CMD has quotes?
by ikegami
in thread How to open a pipe from CMD if CMD has quotes?
by slloyd
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |