The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
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)


1.84	Thu Apr 26 11:58:13 2001

	- Fixed bug in certain extractions not matching strings
	  with embedded newlines (thanks Robin)


1.85	Sun Jun  3 07:47:18 2001

	- Fixed bug in extract_variable recognizing method calls that
	  start with an underscore (thanks Jeff)


1.86	Mon Sep  3 06:57:08 2001

	- Revised licence for inclusion in core distribution

	- Consolidated POD in .pm file

	- renamed tests to let DOS cope with them


1.87	Thu Nov 15 21:25:35 2001

	- Made extract_multiple aware of skipped prefixes returned
	  by subroutine extractors (such as extract_quotelike, etc.)

	- Made extract_variable aware of punctuation variables

	- Corified tests