use strict; use warnings; my @lines = ( "Once upon a time", "scrooge & donald", "went for a long walk" ); my $lines = join("\n", @lines) ."\n\n"; my @list = ("huey", "dewey", "louis"); foreach my $who (@list) { my $new_lines = $lines; $new_lines =~ s/(&\s*donald)/& $who/; print $new_lines; } __END__ Once upon a time scrooge & huey went for a long walk Once upon a time scrooge & dewey went for a long walk Once upon a time scrooge & louis went for a long walk