Aaaarghhhhh. Good catch! Thank you.
next is a left-over (forgetfully 'unremoved') from an alternate approach which was later abandoned.
As to the possibility of multiple variables with similar name_parts -- all on a single line: that's not something I considered, as it appears to be outside the OP's spec. Oversight aside, however, that does indeed make the coding a little tricky...
... perhaps something like this [added to prev code and, yes, with the next removed :-)]:
say "\tDone with source and sink files\n";
$/ = "\n"; # restore record separator
my @choroba = ('choroba my car -- a $car -- is $car_colour. Choroba-',
'choroba my car2 is $car_colour $car. Choroba-',
'choroba my car3 is $car_colour $car Choroba-',
'choroba my car4 is $car_colour and |secondinstance: $ca
+r_colour| |firstinstance:$car| Choroba-',
);
for (@choroba) {
if ( $_ =~ /choroba/ .. /Choroba-/ ) {
s/choroba/ /; # ...
s/Choroba-/ /; # or set record separator
s/\$car_colour/red/g; # yup, need the g
s/\$car[^_]{1}/ford/;
say $_;
}
}
which produces terminal output:
Done with source and sink files
my car -- a ford-- is red.
my car2 is red ford
my car3 is red ford
my car4 is red and |secondinstance: red| |firstinstance:ford
Fun! |