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>
>
>
>

Reply via email to