Revision history for Perl extension Text::Balanced.
1.00 Mon Aug 11 12:42:56 1997
- original version
1.01 Mon Sep 8 18:09:18 EST 1997
- changed "quotemeta" to "quotemeta $_" to work
around bug in Perl 5.002 and 5.003
1.10 Tue Sep 30 17:23:23 EST 1997
- reworked extract_quotelike to correct handling of some obscure cases
1.21 Sat Oct 4 17:21:54 EST 1997
- synchronised with Parse::RecDescent distribution (version number
will now reflect that package)
1.23 Fri Oct 17 10:26:38 EST 1997
- changed behaviour in scalar and void contexts. Scalar contexts
now return only the extracted string. Void contexts now remove
the extracted string from the first argument (or $_).
1.24
- changed behaviour in scalar contexts. Scalar contexts
now return the extracted string _and_ remove it from the
first argument (or $_).
- changed return values on failure (all contexts return undef
for invalid return fields)
- fixed some lurking bugs with trailing modifier handling
- added :ALL tag to simplify wholesale importing of functions
- fixed serious bug with embedded division operators ("/")
This now also allows the ?...? form of pattern matching!
1.35 Wed Jun 24 09:53:31 1998
- fixed handling of :: quantifiers in extract_variable()
- numerous trivial lexical changes to make xemacs happy
1.36 Tue Jul 14 12:26:04 1998
- Reinstated POD file missing from previous distribution
- Added undocumented fourth parameter to extract_codeblock
so as to correctly handle (?) and (s?) modifiers in
RecDescent grammars.
1.40 Tue Aug 4 13:54:52 1998
- Added (optional) handling of embedded quoted text to
extract_delimited (see revised entry in Balanced.pod)
- Added extract_tagged which extracts text between arbitrary,
optionally nested start and end tags (see new entry in
Balanced.pod).
- Added delimited_pat which builds a pattern which matches a
string delimited by any of the delimiters specified (see new
entry in Balanced.pod).
- Added test.pl
1.41 Mon Aug 10 14:51:50 1998
- Reinstated change to extract_codeblock from 1.36 which were
mysteriously lost in 1.40
1.50 Thu Aug 27 09:20:19 1998
- Improved the structure of the regex generated by
delimited_pat (and used in extract_delimited). It's
considerably more complex, but also more robust and
much faster in the worst case.
- Altered extract_variable to accept whitespace in variables,
e.g. '$ a -> {'b'} -> [2]'
1.51 Sat Feb 13 10:31:55 1999
- Fixed bugs in prefix matching in extract_variable:
* incorrectly used default if '' specified
* now handles $#array correctly
- Fixed bugs in extract_codeblock:
* Now handles !~ properly
* Now handles embedded comments better.
* Now handles "raw" pattern matches better.
- Added support for single strings or qr's as
'reject' and 'ignore' args to extract_tagged()
- Added gen_extract_tagged() to "precompile"
a specific tag extractor for repeated use
(approximately 3 times faster!)
1.52 Thu Mar 4 12:43:38 1999
- Added CSV parsing example to documentation of extract_multiple.
- Fixed a bug with extract_codeblock in "RecDescent" mode
(it would accept "subrule(s?)" and "subrule(?)", but
not "subrule(s)"). Thanks, Jan.
1.66 Fri Jul 2 13:29:22 1999
- Added ability to use quotelike operators in extract_bracketed
- Fixed bug under 5.003 ('foreach my $func' not understood)
- Added escape specification as fourth arg to &extract_delimited
- Fixed handling of &delimited_pat and &extract_delimited
when delimiter is same as escape
- Fixed handling of ->, =>, and >> in &extract_code
when delimiters are "<>"
1.76 Fri Nov 19 06:51:54 1999
- IMPORTANT: Now requires 5.005 or better.
- IMPORTANT: Made extract methods sensitive to the pos()
value of the text they are parsing. In other words,
all extract subroutines now act like patterns of the form
/\G.../gc. See documentation for details.
- IMPORTANT: Changed semantics of extract_multiple, in line
with the above change, and to simplify the semantics to
something vaguely predictable. See documentation for details.
- Added ability to use qr/../'s and raw strings as extractors
in extract_multiple. See documentation.
- Added fourth argument to extract_codeblock to allow
outermost brackets to be separately specified. See
documentation for details.
- Reimplemented internals of all extraction subroutines
for significant speed-ups (between 100% and 2000%
improvement).
- Fixed nasty bug in extract_variable and extract_codeblock
(they were returning prefix as well in scalar context)
- Allowed read-only strings to be used as arguments in
scalar contexts.
- Renamed delimited_pat to gen-delimited pat (in line with
gen_extract_tagged). Old name still works, but is now deprecated.
- Tweaked all extraction subs so they correctly handle
zero-length prefix matches after another zero-length match.
1.77 Mon Nov 22 06:08:23 1999
- Fixed major bug in extract_codeblock (would not
terminate if there was trailing whitespace)
- Improved /.../ pattern parsing within codeblocks
1.81 Wed Sep 13 11:58:49 2000
- Fixed test count in extract_codeblock.t
- Fixed improbable bug with trailing ->'s in extract_variable
- Fixed (HT|X)ML tag extraction in extract_tagged (thanks, Tim)
- Added explanatory note about prefix matching (thanks again, Tim)
- Added handling of globs and sub refs to extract_variable
- Pod tweak (thanks Abigail)
- Allowed right tags to be run-time evaluated, so
extract_tagged($text, '/([a-z]+)', '/end$1') works
as expected.
- Added optional blessing of matches via extract_multiple
- Fixed bug in autogeneration of closing tags in extract_tagged
(Thanks, Coke)
- Fixed bug in interaction between extract_multiple and
gen_extract_tagged (Thanks Anthony)
1.82 Sun Jan 14 16:56:04 2001
- Fixed nit in extract_variable.t
(tested more cases than it promised to)
- Fixed bug extracting prefix in extract_quotelike (Thanks Michael)
- Added handling of Perl 4 package qualifier: $Package'var, etc.
- Added handling of here docs (see documentation for limitations)
- Added reporting of failure position via $@->{pos} (see documentation)
1.83 Mon Jan 15 12:43:12 2001
- Fixed numerous bugs in here doc extraction (many thanks Tim)