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]

Reply via email to