Changes for version 0.14 - 2005-04-27
- Performance tuning release. Played around significantly with _insertr and lex but major improvement will only come about by writing the lexing routine in C.
- Reordered $Default_Lexer to bring the most common cases to the front of the pattern.
- Inline the effects of \U, \L, \c, \x. This is handled by _lex_stateful (which offloads some of the worst case lexing costs into a separate routine and thus makes the more usual cases run faster). Handling of \Q in the previous release was incorrect. (Sigh).
- Backslash slashes.
- Passed arrays around by reference between _lex and a newly introduced _insertr routine.
- Silenced warning in _slide_tail (ran/reran)
- Fixed bug in _slide_tail (didn't handle '0' as a token). One section of the code used to do its own sliding, now it uses _slide_tail.
- Fixed bug in _node_eq revealed by 5.6.1 (implicit ordering of hash keys).
- Optimized node_offset()
- replace ok() in tests by better things (is, like, ...)
- removed use of Test::Differences, since it doesn't work on complex structures.
Modules
Assemble multiple Regular Expressions into one RE