Sorry for that John. It works fine.

Many thanks for your help.


Umesh


On 12/16/05, Umesh T G <[EMAIL PROTECTED]> wrote:
>
> 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