As you say, maybe just not support the suppression operator in
templates. As far as I can tell it can only be used to suppress
criticals, which is a VERY bad idea, imo (the script will die
silently).
Or maybe @ wasn't the best choice to begin with, because of this.
There's lots of other symbols, so why not change it? You could even
continue support of @, as it is now, if you wanted to.
I think % is the classic array identifier, but that's modulo in php...
How about a double symbol? $@, for example. As far as I can tell, that
combination would never be allowed in php... Or even better: $% ?