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