dslinux/user/perl/lib/Text/Balanced Changes README

cayenne dslinux_cayenne at user.in-berlin.de
Mon Dec 4 18:01:11 CET 2006

Update of /cvsroot/dslinux/dslinux/user/perl/lib/Text/Balanced
In directory antilope:/tmp/cvs-serv17422/lib/Text/Balanced

Added Files:
	Changes README 
Log Message:
Adding fresh perl source to HEAD to branch from

                  Release of version 1.95 of Text::Balanced


    Text::Balanced - Extract delimited text sequences from strings.

SUMMARY (see Balanced.pod for full details)

        `extract_delimited' extracts the initial substring of a string
        which is delimited by a user-specified set of single-character
        delimiters, whilst ignoring any backslash-escaped delimiter

        `extract_bracketed' extracts a balanced-bracket-delimited substring
        (using any one (or more) of the user-specified delimiter brackets:
        '(..)', '{..}', '[..]', or '<..>').
        `extract_quotelike' attempts to recognize and extract any one of the
        various Perl quote and quotelike operators (see "perlop(3)"). Embedded
        backslashed delimiters, nested bracket delimiters (for the
        quotelike operators), and trailing modifiers are all correctly handled.
        `extract_codeblock' attempts to recognize and extract a
        balanced bracket-delimited substring which may also contain
        unbalanced brackets inside Perl quotes or quotelike
        operations. That is, `extract_codeblock' is like a combination
        of `extract_bracketed' and `extract_quotelike'.

        `extract_tagged' attempts to recognize and extract a
        substring between two arbitrary "tag" patterns (a start tag
	and an end tag).


    It's all pure Perl, so just put the .pm file in its appropriate
    local Perl subdirectory.


    Damian Conway (damian at cs.monash.edu.au)


     Copyright (c) 1997-2001, Damian Conway. All Rights Reserved.
     This module is free software. It may be used, redistributed
	  and/or modified under the same terms as Perl itself.



	- Constrainted _match_quote to only match at word boundaries
	  (so "exemplum(hic)" doesn't match "m(hic)")
	  (thanks Craig)



Text::Balanced has been uploaded to the CPAN


--- NEW FILE: Changes ---
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 $_).


	- 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

        - 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%

	- 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

1.89	Sun Nov 18 22:49:50 2001

	- Fixed extvar.t tests

1.90	Tue Mar 25 11:14:38 2003

	- Fixed subtle bug in gen_extract_tagged (thanks Martin)

	- Doc fix: removed suggestion that extract_tagged defaults
	  to matching HTML tags

	- Doc fix: clarified general matching behaviour

	- Fixed bug in parsing /.../ after a (

	- Doc fix: documented extract_variable

	- Fixed extract_variable handling of $h{qr}, $h{tr}, etc.
	  (thanks, Briac)

	- Fixed incorrect handling of $::var (thanks Tim)

1.91	Fri Mar 28 23:19:17 2003

	- Fixed error count on t/extract_variable.t

	- Fixed bug in extract_codelike when non-standard delimiters used

1.94	Sun Apr 13 02:18:41 2003

	- rereleased in attempt to fix CPAN problems

1.95	Mon Apr 28 00:22:04 2003

	- Constrainted _match_quote to only match at word boundaries
	  (so "exemplum(hic)" doesn't match "m(hic)")
	  (thanks Craig)

More information about the dslinux-commit mailing list