my $test = <<'TEXT'; illegal\\characters\*example? TEXT my @illegal = qw( \ * ? ); my @legal = qw( bs a q ); my $c = 0; for my $val ( @illegal ) { $test =~ s/\Q$val\E/[$legal[$c]]/g; $c++; } print "$test\n";