Something like this?
use strict; use warnings; use Term::ANSIColor; my $t = "ACGCGATAGCATTAGACCTGGCACAGT"; $t =~ s/([CG]AT)/colored($1,'bold red')/ge; print $t, "\n";
If you have the positions and lengths you want highlighted, you can do it like:
use strict; use warnings; use Term::ANSIColor; my $t = "ACGCGATAGCATTAGACCTGGCACAGT"; my @highlights = ( # [ start, len, color ] [ 20, 5, 'bold blue' ], [ 10, 2, 'bold red' ], [ 3, 4, 'bold green' ], ); for my $ar (@highlights) { my ($start, $len, $color) = @$ar; $t = substr($t, 0, $start-1) # first part . colored(substr($t,$start,$len), $color) # colored part . substr($t,$start+$len); # final part } print $t, "\n";
Note: If you do it this way, keep in mind that colorizing changes the positions of characters in the string, so: (1) Always start at the end and work towards the front, and (2) *NEVER* use overlapping areas.
...roboticus
When your only tool is a hammer, all problems look like your thumb.
In reply to Re: bold color text and export to file
by roboticus
in thread bold color text and export to file
by newtoperlprog
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |