-----BEGIN PGP SIGNED MESSAGE----- Yann Dirson, in an immanent manifestation of deity, wrote: >I wrote a sample script whose behaviour seems strange to me. At least >I can't find in the doc why it behaves so, nor what I should write to >get the expected result.
Two things: 1) If you want stuff on the right hand side to eval-ed (double substitute variables), you need to do it yourself. Note that with: $TRANSLATION = '\$1;\$2'; $str = "ab"; both $str =~ s{(.)(.)}{$TRANSLATION}ee; and eval {$str =~ s{(.)(.)}{$TRANSLATION}; }; are faster than: eval "\$str =~ s{(.)(.)}{$TRANSLATION}"; 2) Using \1 etc. only works on the left side of a substitute. It will frequently work on the right side but this is deprecated behaviour and shouldn't be counted on. $1 etc. are only filled after the regular expression is done and therefore using it on the left side of a substitute will have unpredictable results and won't do what you expect. Darren P.S. Sorry I didn't answer this sooner. I've been a touch busy. - -- <[EMAIL PROTECTED]> <http://www.daft.com/~torin> <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> Darren Stalder/2608 Second Ave, @282/Seattle, WA 98121-1212/USA/+1-800-921-4996 @ Sysadmin, webweaver, postmaster for hire. C/Perl/CGI programmer and tutor. @ @ Make a little hot-tub in your soul. @ -----BEGIN PGP SIGNATURE----- Version: 2.6.3a Charset: noconv Comment: Processed by Mailcrypt 3.4, an Emacs/PGP interface iQCVAwUBNU1mbo4wrq++1Ls5AQGEUQP/RGbwwQp3QzjTuNrM03crQT2G7OcuYXB5 h8bsoNaexdRPOoWj3tu/SsQRJpMJYS6bYVUvtbFx3iYw4qPygqDyfSKn2n8NPMMM aDfiCDiEWIrIxPTNp3SB85+sa31s81437UVBnX24s7WlluXyM0osUq51REaNmv47 FCNIgGH4HEM= =KVPB -----END PGP SIGNATURE----- -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]