Oops..some typo error!! >How exactly does on pre-compile the regex? I would be interested in seeing >this.
>[Jess] Three cases: a) Hardcode - /(\w{5})(something)(\w{5})/ b) Intepolate variable in the search variable, value remaining constant throughout the program $var = "something"; /(\w{5})($var)(\w{5})/o c) If the value is going to change, then use eval to build up a whole block. This way the variable is converted at compile time and not at run time. I am quoting an example from Perl Cookbook 6.10 (See 6.10 for more details..It discussed on speeding up Interpolated matches) ####### @pop = qw(A,B,C,D,E,F,G); $code = 'while defined($line = <>)) {'; for $state (@pop) { $code .= "\tif (\$line =~ /\\b$state\\b/) {print \$line;next;}\n"; } $code .= '}'; eval $code; die if @!; ######### -----Original Message----- From: Shishir K. Singh [mailto:[EMAIL PROTECTED]] Sent: Monday, June 24, 2002 5:07 PM To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: RE: matching extracharacters >Hi all, >I would like to match a string variable in a longer string retreiveing >the match plus 5 extra characters at each side of the >match. >This what I mean: >$var = 'something'; >$line = 'SDFGHAsomethingWDFTsft'; >and, I would like to get in a new variable the string >'DFGHAsomethingWDFTs'. >Any help in doing this will be very appreciated. $line = 'SDFGHAsomethingWDFTsft'; $var = "something"; @x = ($line =~ /(\w{5})($var)(\w{5})/); ##or $newVar = $1.$2.$3; You may consider using eval to precompile the expression in case you have a lot's of records to regex on !! This will speed it up!! Cheers Shishir -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]