Looks like you need to read the perlop documentation on CPAN and understand the meaning of qw (Quoted Words). What qw does is to build a list, not to construct search patterns.
my @array = qw/ element1 element2 element3 /;
is equivalent to
my @array = ();
push @array, 'element1';
push @array, 'element2';
push @array, 'element3';
Given that your @final_array is already setup earlier, all you need to do is to build the combined search pattern with join:
my $pattern = join '|', @final_array;
Why do I want to join the patterns with '|'? Because effectively I want to build a regular expression like below:
s/pattern1|pattern2|pattern3/replace/g;
# which is equivalent to
my $patterns = "pattern1|pattern2|pattern3";
s/$patterns/replace/g;
|