# Keep $escape somewhere or give it a proper name. my $escape = eval "sub {\n".join("\n",map " \$_[0] =~ s/\\$_/\\\\$_/g;", qw/t r n f/)."\n};"; $escape->( $text );