perl pra wrote:
hi ,
I want to pass a command argument to perl script with double quotes (" );
below is my scenario
my xml file is something like this ..
<root>
<reff>
<var1>123</var1>
<var2>this is my name</var2>
</reff>
<reff>
<var1>234</var1>
<var2>this is others name </var2>
</reff>
</root>
my perl script is something like this
my $xmlfile = "./samp1.xml";
my $ref = eval { XMLin($xmlfile) };
if ($@){
print "XML Read ERROR";
} else {
foreach my $item (@{$ref->{reff}}) {
system("perl C:\\Document and settings\\Desktop\\search.pl -n
\"$item->{var2}\"");
the search.pl file consists of .
print "AGRV[1]";
my out put is
this is my name
this is others name
i understand that the string is getting passed to the perl script with out
quotes ..
just a straight string is geeting passed (like this this is my name)
but i need to send the entire string including double quotes to the
script.,something like this ( "this is my name")
Why are you shelling out to another Perl process just to print a value from a
hash? As far as I can tell your loop should look like this:
foreach my $item (@{$ref->{reff}}) {
print qq("$item->{var2}"\n);
}
Cheers,
Rob
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>