This is the input: >d1dlwa_ a.1.1.1 slfeqlggqaavqavtaqfyangidmpnqtnktaaflcaalggpnawtgrnlkevhanmgvsnaqfttvighlrsaltgagvaaalveqtvavaetvrgdvvtvniqadatvatff >d1uvyc1 b.1.1.1 niqadatvatffngidmpnqtnktaaflcaalggpnawtgrnlkevhanmgvsnaqfttvighlrsaltgagvaaalveqtvavaetvrgdvvtvslfeqlggqaavqavtaqfya #### My expected output (each in a .fa file): >1dl_a_ slfeqlggqaavqavtaqfyangidmpnqtnktaaflcaalggpnawtgrnlkevhanmgvsnaqfttvighlrsaltgagvaaalveqtvavaetvrgdvvtvniqadatvatff >1uvy_c1 niqadatvatffngidmpnqtnktaaflcaalggpnawtgrnlkevhanmgvsnaqfttvighlrsaltgagvaaalveqtvavaetvrgdvvtvslfeqlggqaavqavtaqfya #### #!/usr/bin/perl -w @PDBchain; @PDBcode; @pdbString; @SCOPclass; $count =0; #SET A COUNTER FOR NUMBER OF ENTRIES open (IN, "$ARGV[0]"); my @array; while () { my $pdbId = $_; chomp($pdbId); push @array, $pdbId; print $pdbId; print "\n\n"; if ($pdbId =~/>d(\d\w\w\w)(\w[_\d])\s(\w)/) { $pdbString[$count] = ""; $PDBcode[$count]=$1; #SAVE PDB CODE print $PDBcode[$count]; print "\n"; $PDBchain[$count]=$2; #SAVE PDB CHAIN $SCOPclass[$count]=$3; #SAVE SCOP CLASS (A,B,C,D,E,F,G) $count++; next; } else { $pdbString[$count].=$pdbId; next; } print $pdbString[$count]; #this prints the complete fasta sequence per entry! print "\n\n"; } close IN; print "Total number of entries: ".$count. "\n"; #COUNT TOTAL NUMBER OF PDBS REPRESENTED for(my $i=0;$i<$count;$i++) { open (OUT, ">>$PDBcode[$i]_$PDBchain[$i].fa"); print OUT ">",$PDBcode[$i], "_", $PDBchain[$i], "\n"; print OUT $pdbString[$i]; #WHY AM I UNABLE TO PRINT THE SEQUENCE HERE? close OUT; }