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>


Reply via email to