in reply to splitting and coloring
use strict; use warnings; my $string = q{MKTVEQTSPTMTSEKARWIYQKMVEIRMFEDRVHDIFSKGEIPGFVHLYAGEEAI +AVGLCAHLDHNDYITSTHRGHGHCIAKGCELDGMMAEIYGKSTGLCKGKGGSMHIADLDRGMLGANGIV +GGGFTLAAGAALTAKFKQTGGVAVCFFGDGANNQGTFHEGINLAAIWDLPVVFVAENNGYGEATPFHYA +SACEQITDRAKGYNIPGVKVDGKDVVAVYEVAREAVERARRGEGPTLIECITYRNYGHFEGDAQTYKTG +REKEEHTEERDAITLFEKYALSNNLLTEEAIQTVRHEVEQSVDRAVDFANASDYPQPEELLTDVYVSYD +HEGRNG}; my $newString = q{}; my $count = 0; while (length $string >= 10) { $count += 10; $newString .= substr $string, 0, 10, q{}; $newString .= $count % 50 ? q{ } : qq{\n}; } $newString .= qq{$string\n}; print $newString;
and the output
MKTVEQTSPT MTSEKARWIY QKMVEIRMFE DRVHDIFSKG EIPGFVHLYA GEEAIAVGLC AHLDHNDYIT STHRGHGHCI AKGCELDGMM AEIYGKSTGL CKGKGGSMHI ADLDRGMLGA NGIVGGGFTL AAGAALTAKF KQTGGVAVCF FGDGANNQGT FHEGINLAAI WDLPVVFVAE NNGYGEATPF HYASACEQIT DRAKGYNIPG VKVDGKDVVA VYEVAREAVE RARRGEGPTL IECITYRNYG HFEGDAQTYK TGREKEEHTE ERDAITLFEK YALSNNLLTE EAIQTVRHEV EQSVDRAVDF ANASDYPQPE ELLTDVYVSY DHEGRNG
I hope this is of interest.
Cheers,
JohnGG
Update: Amended code to remove length test in last .= assignment as it would fail to append a newline if the string length was a multiple of 10 but not of 50. Original line
$newString .= qq{$string\n} if length $string;
|
|---|