Name : perl-String-Tagged
| |
Version : 0.24
| Vendor : obs://build_opensuse_org/devel:languages:perl
|
Release : lp155.1.1
| Date : 2024-07-24 06:30:53
|
Group : Unspecified
| Source RPM : perl-String-Tagged-0.24-lp155.1.1.src.rpm
|
Size : 0.11 MB
| |
Packager : https://www_suse_com/
| |
Summary : string buffers with value tags on extents
|
Description :
This module implements an object class, instances of which store a (mutable) string buffer that supports tags. A tag is a name/value pair that applies to some extent of the underlying string.
The types of tag names ought to be strings, or at least values that are well-behaved as strings, as the names will often be used as the keys in hashes or applied to the \'eq\' operator.
The types of tag values are not restricted - any scalar will do. This could be a simple integer or string, ARRAY or HASH reference, or even a CODE reference containing an event handler of some kind.
Tags may be arbitrarily overlapped. Any given offset within the string has in effect, a set of uniquely named tags. Tags of different names are independent. For tags of the same name, only the latest, shortest tag takes effect.
For example, consider a string with three tags represented here:
Here is my string with tags [-------------------------] foo => 1 [-------] foo => 2 [---] bar => 3
Every character in this string has a tag named \'foo\'. The value of this tag is 2 for the words \'my\' and \'string\' and the space inbetween, and 1 elsewhere. Additionally, the words \'is\' and \'my\' and the space between them also have the tag \'bar\' with a value 3.
Since \'String::Tagged\' does not understand the significance of the tag values it therefore cannot detect if two neighbouring tags really contain the same semantic idea. Consider the following string:
A string with words [-------] type => \"message\" [--------] type => \"message\"
This string contains two tags. \'String::Tagged\' will treat this as two different tag values as far as \'iter_tags_nooverlap\' is concerned, even though \'get_tag_at\' yields the same value for the \'type\' tag at any position in the string. The \'merge_tags\' method may be used to merge tag extents of tags that should be considered as equal.
|
RPM found in directory: /packages/linux-pbone/ftp5.gwdg.de/pub/opensuse/repositories/devel:/languages:/perl:/CPAN-S/15.5/noarch |