I use a substitution string in my applications to set the system path to my images. I call it MYFILES. Sometimes I create procedures and functions referring this substitution string to generate HTML code like this example:
Today I was trying to create a procedure in SQL Developer (another Oracle great tool) using that substitution string, but I got a problem with & character because its presence was interpreted as a substitution variable. I've noticed that SQL Developer even when the '&' is in a comment it is being interpreted as a substitution variable.
The solution to bypass this problem was using this simple command at the top of the code:
SET SCAN OFF
Here you can see that this command is considered obsolete and it was substituted by the SET DEFINE command. Worked for me.