in reply to Re: Word matching in string
in thread Word matching in string

I am sorry about that

@name consists of
CH7 1CP5 1LHT 1SPG 1FAW 1HBR 1WMU 1F5P 1UC3 3LHB 1IT2
the input $phylo consists of
9 -2393.2 (((CH7,1CP5),1LHT),1SPG,1FAW,1HBR,1WMU)))),((1F5P,3LHB),1UC3),1IT2);

on running the code, i get
9 -2393.2 ((((CH7,2),3),(4,(5,(6,7)))),((8,10),9),11);
and it supposed to be
9 -2393.2 ((((1,2),3),(4,(5,(6,7)))),((8,10),9),11);

to my knowledge my code is correct and i am not able to figure out the error

the code is

for($i = 0,my $k = 1; $i<= $#name; ++$i,++$k){ $phylo =~ s/($name[$i])/$k/;} print("$phylo\n");

Replies are listed 'Best First'.
Re^3: Word matching in string
by prasadbabu (Prior) on Mar 25, 2005 at 02:14 UTC

    Jaya, for me it is working perfectly.

    @name = qw (CH7 1CP5 1LHT 1SPG 1FAW 1HBR 1WMU 1F5P 1UC3 3LHB 1IT2); $phylo = "9 -2393.2 (((CH7,1CP5),1LHT),1SPG,1FAW,1HBR,1WMU)))),((1F5P, +3LHB),1UC3),1IT2)"; for($i = 0,my $k = 1; $i<= $#name; ++$i,++$k){ print "$name[$i]\t$i\t$k\n"; $phylo =~ s/($name[$i])/$k/; } print("$phylo\n");

    output:

    CH7 0 1 1CP5 1 2 1LHT 2 3 1SPG 3 4 1FAW 4 5 1HBR 5 6 1WMU 6 7 1F5P 7 8 1UC3 8 9 3LHB 9 10 1IT2 10 11 9 -2393.2 (((1,2),3),4,5,6,7)))),((8,10),9),11)

    Prasad

      Thank You very much

      It sounds awesome

      But it does not work for me!!

      And I am stuck up here .

      Asha

        But it does not work for me!!
        "Does not work" is a red-flag phrase. Whenever you find yourself typing it you should immediately delete it and replace it by a description of how it failed.

        Anyhow, are you seriously saying if you cut and paste prasadbabu's code verbatim and run on you your system then something different happens?

        And I am stuck up here.
        Really? :-)