in reply to Re^2: Does problem is in the for loop???
in thread Does problem is in the for loop???

Update: Ignore this post, see Re^4: Does problem is in the for loop???.

Are you sure this is your code?

print OUT if ((s/m/$uut_names[$i]/) && (s/in1/$nets[$i]/) && (s/output +/$enabled_nets[$i]/));

You say that "it is writing first element alone in XOR_portmap_nets file" but there is no output being written to file here. There are a few issues here, the tutorial Basic debugging checklist mentions three questions which you need to understand:

Replies are listed 'Best First'.
Re^4: Does problem is in the for loop???
by afoken (Chancellor) on May 11, 2015 at 10:21 UTC
    print OUT if ((s/m/$uut_names[$i]/) && (s/in1/$nets[$i]/) && (s/output/$enabled_nets[$i]/));

    there is no output being written to file here

    You are missing the while (<IN>) { ... } loop around this statement. print defaults to writing $_ when called without arguments or only a file handle.

    Stupid demo:

    >perl -E "open IN,'<','/etc/group'; open OUT,'>','/tmp/foo'; while (<I +N>) { print OUT if /adm/; } close OUT; close IN;" >cat /tmp/foo sys:x:3:root,bin,adm adm:x:4:root,adm,daemon disk:x:6:root,adm >

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)

      Doh! Indeed I am, thanks for pointing this out. Another occasion where I need to take a step back and properly regulate my caffeine/blood level.