Harry Putnam wrote: > > "John W. Krahn" <[EMAIL PROTECTED]> writes: > > >> >> $rein_str = shift; > >> >> > >> >> while(<>){ > >> >> chomp; > >> >> $pre_out = $_; > >> >> ($out = $pre_out) =~ s/$strp_re/$rein_str/; > >> > > >> > ($out = $pre_out) =~ s/$strp_re/qq["$rein_str"]/ee; > >> > >> I find no reference to `qq' used like this in `Programming Perl > >> [3rd]'. Ditto for a double `ee' in this context. I can sort of see > >> what is happing ... That is, $rein_str is being presented to the > >> interpreter in such a way that it knows how to read it. But not > >> clear what all is happening here. > > > > The /e option eval()s the replacement string however, because you have > > back-reference variables ($1, $2, etc.) in the replacement string you > > have to wrap it in double quotes for each eval. > > Probably being very dense here but something still confusing me. > > qq means double quotes but then "" are already around $rein_str, so > do we have double double quotes?
Yes. qq("$var") is the same as "\"$var\"" or qq(qq[$var]) > And does 'ee' mean double eval? Yes. You can use as many 'e's as you want and the replacement string will be eval()ed for each one. John -- use Perl; program fulfillment -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]