in reply to Help in joining these lines
use strict; use warnings; use List::MoreUtils qw(first_index); my $sample = \do{my $raw = "> gi|11SB_CUCMA Train|1 21\n" ."MARSSLFTFLCLAVFINGCLSQIEQQSPWEFQGS\n" ."EVWQQHRYQSPRACRLENLRAQDPVRLLLPGFSNAPKLIFV\n" ."AQGFGIRGIAIPGCAETYQT\n" ."SSSSSSSSSSSSSSSSSSSSS....................\n" ."...........................\n" .".................\n" ."..........\n" ."> gi|1A43_HUMAN Train|1 24\n" ."MAVMAPRTLVLLLSGALALTQTWAGSHSMRYFYTSVSRPG\n" ."RGEPRFIAVGYVDDTQFVRFDSDAASQRMEPRAPWIEQEG" ."PEYWSQTDRANLGTLRGYYNQSEDGSHTIQR\n" ."MYGCDVGPDGRFLRGYQQDAYDGKDYIALNEDLRS" ."WTAADMAAQITQRKWETAHEAE\n" ."SSSSSSSSSSSSSSSSSSSSSSSS..........." ."...................................\n" ."...........................................\n" .".............\n" ."..........................................\n" }; open my $SAMPLE, '<', $sample; while (my $block = do{local $/ = "\n>"; <$SAMPLE>}) { $block =~ s/\n>\z//; $block =~ s/\A([^>])(.*?)$/>$1$2/ms; my @lines = split /\n/, $block; my $i = first_index {$_ =~ /\./} @lines; $" = q(); print $lines[0], "\n" ."@lines[1..$i-1]\n" ."@lines[$i..$#lines]\n"; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Help in joining these lines
by GrandFather (Saint) on Sep 16, 2016 at 02:45 UTC | |
by BillKSmith (Monsignor) on Sep 16, 2016 at 18:21 UTC | |
by GrandFather (Saint) on Sep 17, 2016 at 00:01 UTC |