in reply to regex is not producing desired output

^ = matches at start of string (and at start of a line with /m)
$ = matches before a newline at end of string and at end of string (and before any newline with /m)
\b = at a word boundary. That is to say, it matches between something that matches \w and something that matches \W in any order. The start and end of the string count as \W for this purpose.

That is all in perlre

open(my $fh, '<', "apache.txt") or die $!; while (<$fh>) { s/\bis\b/are/g; print; }
or
perl -pe"s/\bis\b/are/g" apache.txt