Re: How to pass string in command line argument.
- From: rob.dixon@xxxxxxx (Rob Dixon)
- Date: Thu, 26 Oct 2006 15:55:10 +0100
perl pra wrote:
>
> Rob Dixon wrote:
>>
>> perl pra wrote:
>>>
>>>
>>> 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);
>> }
>
> ------- thats just example i gave actually i have to search for the
> string with quote included in the string.
>
> I am clueless abt the solution as i am beginner.
>
> waiting for some suggestion or solution.
(Please keep your posts on the beginners list so that others can help me to help
you, and also benefit from the solution to your problem. Thanks.)
Please tell us exactly what it is you need to do. Shelling into Perl from
Perl is almost certainly the wrong way to go about it, but It's not at all clear
what end result you need.
What I can suggest is this:
perl -e "print $ARGV[0], qq(\n)" "\"xxx\""
but I have the horrible feeling I'm helping you to create something very ugly!
Let us know the full details please,
Rob
.
- References:
- How to pass string in command line argument.
- From: Perl Pra
- Re: How to pass string in command line argument.
- From: Rob Dixon
- How to pass string in command line argument.
- Prev by Date: Re: Analize Java source file with perl?
- Next by Date: Re: Is that I can do something like that ?
- Previous by thread: Re: How to pass string in command line argument.
- Next by thread: Re: How to pass string in command line argument.
- Index(es):
Relevant Pages
|
|