use strict;
my $str = '<pre><font color="#4E9A06"><b>alecto@styx</b></font>:<font color="#3465A4"><b>~</b></font>$ ls apps
<font color="#4E9A06"><b>Bitwarden-1.27.1-x86_64_a6df18330216c2546e435c5a9c5df432.AppImage</b></font>
<font color="#3465A4"><b>gitkraken</b></font>
<font color="#4E9A06"><b>session-desktop-linux-x86_64-1.6.7_18e4489c1ba2c40986ad03ca6522e187.AppImage</b></font>
<font color="#3465A4"><b>sources</b></font>
<font color="#4E9A06"><b>alecto@styx</b></font>:<font color="#3465A4"><b>~</b></font>$
</pre>
';
my $regex = qr/<font color="([^"]*)">(.*?)<\/font>/mp;
my $subst = '<span style="color: $1">$2</span>';
my $result = $str =~ s/$regex/$subst/rg;
print "The result of the substitution is' $result\n";
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Perl, please visit: http://perldoc.perl.org/perlre.html