The following code does something like what you need. Read it, consider it, and understand it. Post specific questions following site guidelines if anything is unclear.
#!/usr/bin/perl use strict; use warnings; my $buffer = ""; my $series = 1; $_ = <DATA>; # Skip first line while (<DATA>) { if (/>/) { my @elements = split /N+/, $buffer; for my $i (1 .. @elements) { print ">Count$series.$i\n$elements[$i-1]\n"; } $buffer = ""; $series++; } else { chomp; $buffer .= $_; } } my @elements = split /N+/, $buffer; for my $i (1 .. @elements) { print "Count$series.$i\n$elements[$i-1]\n"; } __DATA__ >sequence1 123.3 ATGACGTAGACGATGAGTAGACGATAGCAGTGACAGGTGAGTG ATGACGATGAGTAGAGACGGGGGTAGAGGGGGATAGATAGAGANNNNNNNN ATAGACAGATAANNNNNNNNNNNNNNNNNAGATGAGACAGATANNNNNNN >sequence2 143.5 ATGCGATGCNNNNNNCGTAGCTGANNNNNNCGATGCTGATGCTC CGTAGTCTGCTAGCTAGTCNNNNNNCGTAGTCGATCGATCGANNNNNNCGTGCATGC CGATGCTACGGATNNNNNCGATCGATCGATCGACNNNNNCGATCAGCTAG CCCCGCTAGTCANNNNN >sequence3 132.3 ATGCTGATCAGCTACGCTAGCNNNNNCGATCGATCGATCGACTAGCNNNNNNCGATCCGAGCT CGATCGATCGATCGATCGANNNNNCGATCGATCGACTAGCNNNNNCGATCGATCGA CGATCGATCGA >C1132423 123.4 ATCGTGCATGCATCGATCGACTACGCTGCTACGATCGACTGCTAGCTACGCTAC CGTCGATCGATCGACTACGCTGACTGACTAGCTAG >C1123234 176.4 GCTAGCGATCGCACCGATCGATCGTACGCTACGATCGATCGATCGATCGACTGT CGATCGATCGATCGATCGATCGA >C1123546 531.1 CGTAGCTACGATCGATCGATCGACTAGCTACGATCGATCGACTAGCTAGCTAGCTAG
In reply to Re: Parsing and Modifying a flat file in perl
by kennethk
in thread Parsing and Modifying a flat file in perl
by ad23
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |