Código:
#!/usr/bin/perl
use warnings;
use strict;
my @v = ('casa','color');
my $frase = "La casa de color azul\n";
for my $param ( @v ) {
$frase =~ s/$param/<FONT COLOR="red">$param<\/FONT>/;
}
print $frase;
El problema está en la definición del array @v. Estabas usando corchetes, con lo que realmente estabas definiendo un array anónimo con dos elementos, con lo que @v contenía un solo elemento: una referencia a ese array.