Reindl Harald wrote: > schrieb Bob Proulx: > >Reindl, Please play nice. Dave was exactly correct and friendly with > >his response to you. Liberty, tolerance and respect are not zero sum > >concepts. (Stealing the excellent phrase from Judge Robert Hinkle.) > > friendly would have been without the "Umm" and with a link
"Umm..." is a friendly way to say something in English. I usually spell it "Uhm...". It is a sound not a word. It is a very casual way to soften the words. I realize that translations can be hard but please file that one away as being *soft* and *friendly*. If someone says "uhm" or "umm" or other spellings (it is a sound not a word and so has no exact spelling) then it means they are simply trying to put something forward *without* making a strong statement of the imperative about it. You can read it as "Please excuse me but..." > the question was "are there additional chars to escape" and not "should i > write all my admin backends in perl" The additional issue was that you were referencing PHP documentation. Might as well have been referencing Lisp documentation for all of the relevance it had. That was the point I saw being addressed at that point. PHP is a similar syntax that came after Perl but it very much is its own thing and Perl does not derive from it. > >As Dave said, SpamAssassin is written in Perl not PHP. The *Perl* > >docs are the ones you should reference not the PHP docs. > > > > http://perldoc.perl.org/perlre.html > > don't refer to why @ inside a regex rule needs escaping nor are we at perl No. That was in the second reference perldata.html which describes perl data structures including @arrayvariable constructs. The above reference covered the regular expressions being used by SpamAssassin. > low-level by writing SA-rules, otherwise "blacklist_from" would need escape > @ too but they don't - frankly i would even call it a bug No. It is not a bug. It is standard Perl syntax. And instead of trying to write write all of the documentation again in random emails and getting half of it wrong and creating new misunderstandings it makes the most sense simply to reference the perl documentation that covers the topic. If there is something that isn't clear in the reference documentation then it is more than welcome to ask questions about it. That is the best place for mailing list discussion. But at least start with the docs and then work from there. Otherwise we will all be doing duplicate work by having documentation and also having mailing list messages that say almost all same thing but being written quickly will contain errors and will create misconceptions. > >The reason @ needs to be escaped is because in Perl "@array" is a > >string containing an array variable that expands to an array value. > >To be a literal at sign in the string it needs "\@array" and that is > >the Perl syntax. > > > > http://perldoc.perl.org/perldata.html > > don't also show a example of \@ and again i call it a bug to expose that > *low* level to SA-rules in a not consistent way Feel free to complain about my choice of documentation pointer in the above. I admit I didn't do very well with that one. I was trying to find the relevant documentation but that was what I found in the time I had available to respond. Perl is a popular language and has a *lot* of documentation available for it. So much that it can be difficult to locate specific things sometimes. That was the best I could come up with at the moment. Looking a little closer I see this: http://perldoc.perl.org/perlop.html#Regexp-Quote-Like-Operators It states there that m// and s/// are double-quote like operators and therefore will expand variables. Variables are $variable and @variable and other expansions unless quoted. Therefore @ is one of the items that need to be quoted. Along with $ and %. And since I am simply summarizing Perl documentation I may have that wrong. Which is why it is better to read the official documentation. Maybe someone else will come up with a better documentation pointer for variables expanded inside Perl strings. Bob