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
--- NEW FILE: README ---
==============================================================================
Release of version 1.95 of Text::Balanced
==============================================================================
NAME
Text::Balanced - Extract delimited text sequences from strings.
SUMMARY (see Balanced.pod for full details)
Text::Balanced::extract_delimited
`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
characters.
Text::Balanced::extract_bracketed
`extract_bracketed' extracts a balanced-bracket-delimited substring
(using any one (or more) of the user-specified delimiter brackets:
'(..)', '{..}', '[..]', or '<..>').
Text::Balanced::extract_quotelike
`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.
Text::Balanced::extract_codeblock
`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'.
Text::Balanced::extract_tagged
`extract_tagged' attempts to recognize and extract a
substring between two arbitrary "tag" patterns (a start tag
and an end tag).
INSTALLATION
It's all pure Perl, so just put the .pm file in its appropriate
local Perl subdirectory.
AUTHOR
Damian Conway (damian at cs.monash.edu.au)
COPYRIGHT
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.
==============================================================================
CHANGES IN VERSION 1.95
- Constrainted _match_quote to only match at word boundaries
(so "exemplum(hic)" doesn't match "m(hic)")
(thanks Craig)
==============================================================================
AVAILABILITY
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 $_).
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
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