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]