> A range operator with a regexp works like a flip flop (bistable > multi > vibrator or so). The value of the internal flag (and thus the > result of > the evaluation) changes in this way: initiallly it's false. If the > first > RE matches it's switched to true. It stays true as long as the > second RE > does not match. If it does, the flag goes back to false. > > while( line = gets ) > if /BEGIN:VCARD/ =~ line .. /END:VCARD/ =~ line > puts line > end > end Did perl originate this idea? I remember way back when in perl 4.0x days when I figured out how that thing worked... it was one of those "a-HA!" moments. Cool operator. __________________________________ Do you Yahoo!? SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com