in reply to Re: Re: question on sed
in thread question on sed
The version above uses the three-element form of open() (available in perl 5.6.0 and later), which is a bit safer than the two-element form. open(FH, '<', $filename) is the same as open(FH, "<$filename"). The problem is that $filename could have a '<' at the beginning, thus changing the meaning of the open(). The three-element form avoids this problem.
And yes, $c and $b need to have special regex characters escaped. (As broquaint said, variables like $c and $b have special meanings and should be avoided, but let's ignore that for the moment). If '/' is your only problem character, you can use the 'choose your own quotes' feature of Perl's regexen, such as s!$c!$b!g. In this case, the regex substitution will use '!' as a delimiter instead of '/'.
----
I wanted to explore how Perl's closures can be manipulated, and ended up creating an object system by accident.
-- Schemer
Note: All code is untested, unless otherwise stated
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Re: Re: question on sed
by halley (Prior) on May 15, 2003 at 16:44 UTC |