http://www.perlmonks.org?node_id=1047680


in reply to how to refer the index of an array to another array of the same length

I think you need a C-style for loop, to keep track of the array index. Something like this:

for my $i (0 .. $#cg) { my $g = $cg[$i]; if ($g eq $gl[$i]) { push @ind, $g; print N "$g\n"; print S "$csta[$i]\n"; } }

Is that what you’re looking for? If not, please specify sample input (the contents of the arrays) together with the output you expect.

Hope that helps,

Athanasius <°(((><contra mundum Iustus alius egestas vitae, eros Piratica,

Replies are listed 'Best First'.
Re^2: how to refer the index of an array to another array of the same length
by rocketperl (Sexton) on Aug 03, 2013 at 09:56 UTC
    Thank you so much. The logic is correct but it prints the first index of csta only. Can you suggest me a way to iterate it? Thanks a lot
    @gl LYPLA1 MSC TERF1 CFC1 COL3A1 CLK1 FZD7 ADAM23 CREB1 FN1 XRCC5 DES PAX3 GBX2 TCFCP2L1
    @csta 4797974 14746047 15795739 34592493 45368491 58480932 59539023 63492478 64579378 71699745 72354094 75356919 78193711 91827751 120524522
    @cg LYPLA1 LYPLA1 LYPLA1 LYPLA1 LYPLA1 LYPLA1 LYPLA1 LYPLA1 LYPLA1 LYPLA1 LYPLA1 LYPLA1 LYPLA1
      You are only looking for the key "LYPLA1", which happens to be the first element of @gl and therefore your result will show for every match of "LYPLA1", the first element of @csta, i.e. "4797974". You might wish to vary the search keys a bit to see something different.

      CountZero

      A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James

      My blog: Imperial Deltronics
        Thanks a lot.. :-)