By the way, Harry -- don't use \1. Use $1.
The backslashed version is only there for backwards compatibility, and
I think it's deprecated.

--- Paul <[EMAIL PROTECTED]> wrote:
> --- Harry Putnam <[EMAIL PROTECTED]> wrote:
> > Something I'm messing with today and can't get right. 
> > I've presented a simplified version of what I'd like to do. 
> > It amounts to setting the strings inside a s/some_re/some_rep/
> > type action.
> > 
> > I can get it to work fine if both elements are simple and don't
> > involve grouping and back reference.  But grouping and back
> > reference would make my script (the real one ) considerably more
> > versatile.
> 
> You just needed an eval().
> This works:
> 
>   #!/dart03/users/bin/perl -wp
>   BEGIN { our($in,$out,$arg) = (shift,shift,shift||'') }
>   eval "s/$in/$out/$arg";
> 
> The -p means print each line after processing; it puts the input
> from STDIN into $_. The BEGIN{} block gets your arguments, and I
> allowed for a third to place modifiers such as g or e, but made
> sure it was defined with at least an empty string with shift||''.
> The eval puts the pieces into working order. :)


__________________________________________________
Do you Yahoo!?
Yahoo! Tax Center - forms, calculators, tips, more
http://taxes.yahoo.com/

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to