my @substitutions; # Assumes each substitute operator is on a different line. while (defined(my $code = )) { push @substitutions, eval("sub { $code }") or die("Bad code at input line $.: $@\n"); } my $str1 = 'Hello World!'; my $str2 = 'Good Day!'; # Alias $_ to the variable. foreach ($str1, $str2) { foreach my $substitution (@substitutions) { $substitution->(); } } print("$str1\n"); # [hello world!] print("$str2\n"); # [good day!] __DATA__ s/^/[/g s/$/]/g s/([A-Z])/lc($1)/eg