use Modern::Perl; use Regexp::Assemble; open my $HAMLET_IN, '<', 'hamlet.txt' or die $!; my $hamlet; { local $/; # slurp mode $hamlet = <$HAMLET_IN>; } my $ra = Regexp::Assemble->new(file => 'names.txt')->re; $hamlet =~ s/$ra/*****/g; open my $HAMLET_OUT, '>', 'hamlet_new.txt' or die $!; print $HAMLET_OUT $hamlet;