Thanks Very much John. :) it worked, but a small problem. if I have "\" after the directory name, it does not take as new instanance. for ex: if my $line is *Options=-a"hello" -mt -ml3 -i"dir1\dir2"-k -p -i"dir3\dir4\" -m -n -i"\dir5\dir6" -k* ** then, I'm getting output like this,
dir1\dir2 dir3\dir4\dir5\dir6 This is because an extra "\" is present at the end of dir4. can you help again pls.? thanks so much. I want the output as dir1\dir2 dir3\dir4 dir5\dir6 Umesh On 12/15/05, John Doe <[EMAIL PROTECTED]> wrote: > > Umesh T G am Donnerstag, 15. Dezember 2005 15.31: > > Hi Joe, > > > > just to correct my prevoius one, my $line does not have * in the > begining, > > that was a type. the $line value is like this > > > > *Options=-a"hello" -mt -ml3 -i"dir1\dir2"-k -p -i"dir3\dir4" -m* > > > > > > > > my grep return the values correct to my array and the values in array > will > > be like this obviously: > > > > *Options=-a"hello" -mt -ml3 * > > *"dir1\dir2"-k -p * > > *"dir3\dir4" -m* > > ** > > ** > > But, what I'm interested in getting the output values are: > > *"dir1\dir2"* > > *"dir3\dir4"* > > > > I do not know how to get them......can u suggest pls.? > > > use strict; > use warnings; > > my $str=q(Options=-a"hello" -mt -ml3 -i"dir1\dir2"-k -p -i"dir3\dir4" -m); > > # this is only one possibility. I use \s* in the case spaces are > # allowed after -i. > # Instead of [^"]+ also .+? works. > # You could also modify the regex to allow " as well as ' around dirs. > # > my @dirs=$str=~m,-i\s*"([^"]+)",g; > > print join "\n", @dirs; > > # output: > dir1\dir2 > dir3\dir4 > > ok? > :-) > > [top post history following] > > > On 12/15/05, John Doe <[EMAIL PROTECTED]> wrote: > > > Umesh T G am Donnerstag, 15. Dezember 2005 14.20: > > > > Hi John, > > > > > > Hi Umesh > > > > > > > I tried like this, where $line='*Options=-a"hello" -mt -ml3 > > > > > > -i"dir1\dir2" > > > > > > > -k -p -i"dir3\dir4" -m'* > > > > > > > > > > > > > > > > if (grep/^Options/,$line) > > > > { > > > > > > > > @inc=split(/-i/,$line); > > > > > > > > foreach $word (@inc) > > > > { > > > > print "$word\n"; > > > > } > > > > > > > > > > > > > > > > I do not know how to proceed after this..... > > > > Thanks for your quick reply... > > > > > > You're welcome... > > > > > > try the following: > > > > > > a) put > > > use strict; > > > use warnings; > > > at the beginning of the script > > > > > > b) look at the warnings and then declare the vars with my, see > > > perldoc -f my > > > > > > c) > > > read the documentation > > > perldoc -f grep > > > to see why grep is not appropriate in the if clause > > > > > > d) check the documentation > > > perldoc -f perlre > > > and the others mentioned at the bottom to see why > > > /^Options/ won't ever match a string beginning with '*' and why your > > > script > > > doesn't print anything > > > > > > e) hint: > > > don't use if, only use a regex to extract the parts you like, and > extract > > > them > > > directly into an array by catching the parts you like > > > > > > ... and post the new code then :-) > > > > > > greetings joe > > > > > > > Thanks > > > > Umesh > > > > > > > > On 12/15/05, John Doe <[EMAIL PROTECTED]> wrote: > > > > > Umesh T G am Donnerstag, 15. Dezember 2005 13.00: > > > > > > Hi List, > > > > > > > > > > Hi Umesh > > > > > > > > > > > I want to get that value of *-i* set in below line. > > > > > > > > > > > > *Options=-a"hello" -mt -ml3 -i"dir1\dir2" -k -p -i"dir3\dir4" > -m* > > > > > > > > > > > > What is the best way to get the value of *-i* values into one > > > > > > > > > > array. For > > > > > > > > > > > ex: I want the output as: *dir1\dir2* and *dir3\dir4* into > > > > > > one > > > > > > > > > > array. > > > > > > > > > > What possibilities did you try (show us some code), from which the > > > > > > best > > > > > > > > could be choosed, or to which a better could be added? > > > > > > > > > > joe > > > > > > > > > > -- > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > <http://learn.perl.org/> <http://learn.perl.org/first-response> > > > > > > -- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > <http://learn.perl.org/> <http://learn.perl.org/first-response> > > -- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > <http://learn.perl.org/> <http://learn.perl.org/first-response> > > >