I'm assuming that there should have been line breaks in the sample data, so that each sentince was on a separate line. Also, this code will match everything before the first occurance of the trigger word (nice in this case). You can replace
<DATA> with another filehandle or with
<> depending upon where you want to get the lines.
my $triggerword = "nice";
my $replacement = "A ";
while(<DATA>){
s/^.*?(?=$triggerword)/$replacement/o;
print;
}
__DATA__
This is a nice weather.
He is a nice guy.
We have some nice food in our dinner.