Package TWiki::Attrs
Class of attribute sets, designed for parsing and storing attribute values
from a TWiki tag e.g. %TAG{"joe" fred="bad" joe="mad"}%
An attribute set is a hash containing an entry for each parameter. The
default parameter (unnamed quoted string) is named _DEFAULT
in the hash.
Attributes declared later in the string will override those of the same
name defined earlier. The one exception to this is the _DEFAULT key, where
the first instance is always taken.
As well as the default TWiki syntax (parameter values double-quoted)
this class also parses single-quoted values, unquoted spaceless
values, spaces around the =, and commas as well as spaces separating values.
The extended syntax has to be enabled by passing the $friendly
parameter
to new
.
On this page:
ClassMethod new ($string,$friendly)=>\%attrsObjectRef
-
$string
- String containing attribute specification -
$friendly
- if true, the parse will be according to the extended syntax pioneered by the original Contrib::Attrs. Otherwise it will be strict as per traditional TWiki syntax.
my $attrs = new TWiki::Attrs('the="time \\"has come", "the walrus" said to=speak of=\'many \\'things\', 1);In this example:
-
the
will betime "has come
-
__default__
will bethe walrus
-
said
will beon
-
to
will bespeak
-
of
will bemany 'things
ObjectMethod isEmpty () -> boolean
Return false if attribute set is not empty.ObjectMethod remove ($key) -> $value
-
$key
- Attribute to remove
remove
the attribute is no longer defined.