in reply to Re: Spliting file + removing column
in thread Spliting file + removing column

Ok in short my input and output both are divided in blocks. My 1st problem 1) In the output of *vertices portion my code prints

*vertices 3
1 G
2 G
3 G
1 G
2 G
3 G

But in actual I want it to print the first two columns of the only first energy block like

*vertices 3
1 G
2 G
3 G

My code for this section is

$data_file="HIVgag.ct"; open(MYFILE, $data_file) || die("Could not open file!"); $b=$between=$energy=0; while (<MYFILE>) { if (/energy/i) { $energy++; $between=$b; } elsif ($energy) {$b++} } close(MYFILE); open(MYFILE, $data_file) || die("Could not open file!"); open(WRITE, ">final.net"); print WRITE "*vertices $between\n"; while(<MYFILE>) { foreach $row (<MYFILE>) { @row = $row; (@row[0],@row[1],@row[2], @row[3], @row[4], @row[5], @row[6])=split(/\ +s+/,$row); if (@row[2] ne ENERGY) { print WRITE "@row[1] $row[2]\n"; } } } close(MYFILE);